2006-10-31 23:23:16 +08:00
\section fish fish - the friendly interactive shell
2006-10-26 18:20:59 +08:00
\subsection fish-synopsis Synopsis
2014-08-01 20:25:41 +08:00
\fish{synopsis}
2014-08-08 10:44:37 +08:00
fish [OPTIONS] [-c command] [FILE [ARGUMENTS...]]
2014-08-01 10:37:32 +08:00
\endfish
2006-10-26 18:20:59 +08:00
\subsection fish-description Description
2014-08-19 20:41:23 +08:00
`fish` is a command-line shell written mainly with interactive use in mind. The full manual is available <a href='index.html'>in HTML</a> by using the <a href='#help'>help</a> command from inside fish.
2006-10-26 18:20:59 +08:00
Help cleanup
Large list of changes, including formatting and typos for most commands.
More substantive changes have been made to alias, bind, block, break,
builtin, case, cd, commandline, count, else, emit, fish_config, funced,
function, functions, history, math, mimedb, nextd, not, popd, prevd,
pushd, pwd, random, read, set, set_color, switch, test, trap, type,
ulimit, umask, and while.
2013-05-12 15:56:01 +08:00
The following options are available:
2014-08-01 10:37:32 +08:00
- `-c` or `--command=COMMANDS` evaluate the specified commands instead of reading from the commandline
2014-08-19 20:41:23 +08:00
Add '--init-command', '-C' to the command line switches.
In order to allow the execution of commands before dropping to an
interactive prompt, a new switch, '-C' or '--init-command' has been
added to those switches that we accept.
The documentation has been updated correspondingly.
The original code only supported a single command list to be executed,
and this command list terminates the shell when it completes. To allow
the new command list to preceed the original one, both have been
wrapped in a new container class 'command_line_switches_t'. This is
then passed around in place of the list of strings we used previously.
I had considered moving the interactive, login and other command line
switch states into this container, but doing so would change far more
of the code, moving the structure to be available globally, and I
wasn't confident of the impact. However, this might be a useful thing
to do in the future.
A new function, run_command_list, was lifted from the prior execution
code, and re-used for both the initial command and the regular command
execution.
2017-06-29 22:21:00 +08:00
- `-C` or `--init-command=COMMANDS` evaluate the specified commands after reading the configuration, before running the command specified by `-c` or reading interactive input
2014-08-01 10:37:32 +08:00
- `-d` or `--debug-level=DEBUG_LEVEL` specify the verbosity level of fish. A higher number means higher verbosity. The default level is 1.
2014-08-19 20:41:23 +08:00
2014-08-01 10:37:32 +08:00
- `-i` or `--interactive` specify that fish is to run in interactive mode
2014-08-19 20:41:23 +08:00
2014-08-01 10:37:32 +08:00
- `-l` or `--login` specify that fish is to run as a login shell
2014-08-19 20:41:23 +08:00
2014-08-01 10:37:32 +08:00
- `-n` or `--no-execute` do not execute any commands, only perform syntax checking
2014-08-19 20:41:23 +08:00
2014-08-01 10:37:32 +08:00
- `-p` or `--profile=PROFILE_FILE` when fish exits, output timing information on all executed commands to the specified file
2014-08-19 20:41:23 +08:00
2014-08-01 10:37:32 +08:00
- `-v` or `--version` display version and exit
2006-10-26 18:20:59 +08:00
2016-05-16 10:45:02 +08:00
- `-D` or `--debug-stack-frames=DEBUG_LEVEL` specify how many stack frames to display when debug messages are written. The default is zero. A value of 3 or 4 is usually sufficient to gain insight into how a given debug call was reached but you can specify a value up to 128.
2018-09-16 16:39:15 +08:00
- `-f` or `--features=FEATURES` enables one or more feature flags (separated by a comma). These are how fish stages changes that might break scripts.
2014-08-19 20:41:23 +08:00
The fish exit status is generally the exit status of the last foreground command. If fish is exiting because of a parse error, the exit status is 127.