1FISH(1)                           fish-shell                           FISH(1)
2
3
4

NAME

6       fish - the friendly interactive shell
7

SYNOPSIS

9          fish [OPTIONS] [-c command] [FILE] [ARGUMENTS...]
10

DESCRIPTION

12       fish  is  a  command-line  shell written mainly with interactive use in
13       mind. This page briefly describes the options for  invoking  fish.  The
14       full  manual is available in HTML by using the help command from inside
15       fish, and in the fish-doc(1) man page. The  tutorial  is  available  as
16       HTML via help tutorial or in fish-tutorial(1).
17
18       The following options are available:
19
20-c  or  --command=COMMANDS evaluate the specified commands instead of
21         reading from the commandline, passing any additional positional argu‐
22         ments  via  $argv. Note that, unlike other shells, the first argument
23         is not the name of the program ($0), but simply the first normal  ar‐
24         gument.
25
26-C  or  --init-command=COMMANDS evaluate the specified commands after
27         reading the configuration, before running the command specified by -c
28         or reading interactive input
29
30-d or --debug=DEBUG_CATEGORIES enable debug output and specify a pat‐
31         tern for matching debug categories. See Debugging below for details.
32
33-o or --debug-output=DEBUG_FILE specify a file path  to  receive  the
34         debug  output,  including  categories  and fish_trace. The default is
35         stderr.
36
37-i or --interactive specify that fish is to run in interactive mode
38
39-l or --login specify that fish is to run as a login shell
40
41-n or --no-execute do not execute any commands, only  perform  syntax
42         checking
43
44-p  or --profile=PROFILE_FILE when fish exits, output timing informa‐
45         tion on all executed commands to the specified  file.  This  excludes
46         time spent starting up and reading the configuration.
47
48--profile-startup=PROFILE_FILE  will  write  timing  information  for
49         fish's startup to the specified file. This is useful to profile  your
50         configuration.
51
52-P  or --private enables private mode, so fish will not access old or
53         store new history.
54
55--print-rusage-self when fish exits, output stats from getrusage
56
57--print-debug-categories outputs the list of  debug  categories,  and
58         then exits.
59
60-v or --version display version and exit
61
62-f  or  --features=FEATURES  enables one or more feature flags (sepa‐
63         rated by a comma). These are how fish stages changes that might break
64         scripts.
65
66       The  fish  exit  status  is generally the exit status of the last fore‐
67       ground command.
68

DEBUGGING

70       While fish provides extensive support for debugging fish scripts, it is
71       also  possible  to debug and instrument its internals. Debugging can be
72       enabled by passing the --debug option. For example, the following  com‐
73       mand turns on debugging for background IO thread events, in addition to
74       the default categories, i.e. debug, error, warning, and warning-path:
75
76          > fish --debug=iothread
77
78       Available categories are listed by fish  --print-debug-categories.  The
79       --debug  option  accepts a comma-separated list of categories, and sup‐
80       ports glob syntax. The following command turns on  debugging  for  com‐
81       plete,  history,  history-file, and profile-history, as well as the de‐
82       fault categories:
83
84          > fish --debug='complete,*history*'
85
86       Debug messages output to stderr by default. Note that if fish_trace  is
87       set,  execution tracing also outputs to stderr by default. You can out‐
88       put to a file using the --debug-output option:
89
90          > fish --debug='complete,*history*' --debug-output=/tmp/fish.log --init-command='set fish_trace on'
91
92       These options can also be changed via  the  $FISH_DEBUG  and  $FISH_DE‐
93       BUG_OUTPUT  variables.  The categories enabled via --debug are added to
94       the ones enabled by $FISH_DEBUG, so they can be disabled  by  prefixing
95       them  with  - (reader-*,-ast* enables reader debugging and disables ast
96       debugging).
97
98       The file given in --debug-output takes  precedence  over  the  file  in
99       $FISH_DEBUG_OUTPUT.
100
102       2021, fish-shell developers
103
104
105
106
1073.3                              Jul 06, 2021                          FISH(1)
Impressum