1FISH(1) fish-shell FISH(1)
2
3
4
6 fish - the friendly interactive shell
7
9 fish [OPTIONS] [FILE [ARG ...]]
10 fish [OPTIONS] [-c COMMAND [ARG ...]]
11
12
14 fish is a command-line shell written mainly with interactive use in
15 mind. This page briefly describes the options for invoking fish. The
16 full manual is available in HTML by using the help command from inside
17 fish, and in the fish-doc(1) man page. The tutorial is available as
18 HTML via help tutorial or in man fish-tutorial.
19
20 The following options are available:
21
22 -c or --command=COMMAND
23 Evaluate the specified commands instead of reading from the com‐
24 mandline, passing additional positional arguments through $argv.
25
26 -C or --init-command=COMMANDS
27 Evaluate specified commands after reading the configuration but
28 before executing command specified by -c or reading interactive
29 input.
30
31 -d or --debug=DEBUG_CATEGORIES
32 Enables debug output and specify a pattern for matching debug
33 categories. See Debugging below for details.
34
35 -o or --debug-output=DEBUG_FILE
36 Specifies a file path to receive the debug output, including
37 categories and fish_trace. The default is stderr.
38
39 -i or --interactive
40 The shell is interactive.
41
42 -l or --login
43 Act as if invoked as a login shell.
44
45 -N or --no-config
46 Do not read configuration files.
47
48 -n or --no-execute
49 Do not execute any commands, only perform syntax checking.
50
51 -p or --profile=PROFILE_FILE
52 when fish exits, output timing information on all executed com‐
53 mands to the specified file. This excludes time spent starting
54 up and reading the configuration.
55
56 --profile-startup=PROFILE_FILE
57 Will write timing for fish startup to specified file.
58
59 -P or --private
60 Enables private mode: fish will not access old or store new his‐
61 tory.
62
63 --print-rusage-self
64 When fish exits, output stats from getrusage.
65
66 --print-debug-categories
67 Print all debug categories, and then exit.
68
69 -v or --version
70 Print version and exit.
71
72 -f or --features=FEATURES
73 Enables one or more comma-separated feature flags.
74
75 The fish exit status is generally the exit status of the last fore‐
76 ground command.
77
79 While fish provides extensive support for debugging fish scripts, it is
80 also possible to debug and instrument its internals. Debugging can be
81 enabled by passing the --debug option. For example, the following com‐
82 mand turns on debugging for background IO thread events, in addition to
83 the default categories, i.e. debug, error, warning, and warning-path:
84
85 > fish --debug=iothread
86
87 Available categories are listed by fish --print-debug-categories. The
88 --debug option accepts a comma-separated list of categories, and sup‐
89 ports glob syntax. The following command turns on debugging for com‐
90 plete, history, history-file, and profile-history, as well as the de‐
91 fault categories:
92
93 > fish --debug='complete,*history*'
94
95 Debug messages output to stderr by default. Note that if fish_trace is
96 set, execution tracing also outputs to stderr by default. You can out‐
97 put to a file using the --debug-output option:
98
99 > fish --debug='complete,*history*' --debug-output=/tmp/fish.log --init-command='set fish_trace on'
100
101 These options can also be changed via the FISH_DEBUG and FISH_DE‐
102 BUG_OUTPUT variables. The categories enabled via --debug are added to
103 the ones enabled by $FISH_DEBUG, so they can be disabled by prefixing
104 them with - (reader-*,-ast* enables reader debugging and disables ast
105 debugging).
106
107 The file given in --debug-output takes precedence over the file in
108 FISH_DEBUG_OUTPUT.
109
111 2022, fish-shell developers
112
113
114
115
1163.5 Jun 17, 2022 FISH(1)