mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-27 19:53:36 +08:00
1287b9d823
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.
37 lines
1.3 KiB
Plaintext
37 lines
1.3 KiB
Plaintext
\section if if - conditionally execute a command
|
|
|
|
\subsection if-synopsis Synopsis
|
|
<tt>if CONDITION; COMMANDS_TRUE...; [else if CONDITION2; COMMANDS_TRUE2...;] [else; COMMANDS_FALSE...;] end</tt>
|
|
|
|
\subsection if-description Description
|
|
|
|
<tt>if</tt> will execute the command \c CONDITION. If the condition's
|
|
exit status is 0, the commands \c COMMANDS_TRUE will execute. If the
|
|
exit status is not 0 and <tt>else</tt> is given, \c COMMANDS_FALSE will
|
|
be executed.
|
|
|
|
In order to use the exit status of multiple commands as the condition
|
|
of an if block, use <a href="#begin"><tt>begin; ...; end</tt></a> and
|
|
the short circuit commands <a href="commands.html#and"><tt>and</tt></a>
|
|
and <a href="commands.html#or"><tt>or</tt></a>.
|
|
|
|
The exit status of the last foreground command to exit can always be
|
|
accessed using the <a href="index.html#variables-status">$status</a>
|
|
variable.
|
|
|
|
\subsection if-example Example
|
|
|
|
<pre>
|
|
if test -f foo.txt
|
|
echo foo.txt exists
|
|
else if test -f bar.txt
|
|
echo bar.txt exists
|
|
else
|
|
echo foo.txt and bar.txt do not exist
|
|
end
|
|
</pre>will print <tt>foo.txt exists</tt> if the file foo.txt
|
|
exists and is a regular file, otherwise it will print
|
|
<tt>bar.txt exists</tt> if the file bar.txt exists
|
|
and is a regular file, otherwise it will print
|
|
<tt>foo.txt and bar.txt do not exist</tt>.
|