mirror of
https://github.com/fish-shell/fish-shell.git
synced 2025-02-08 05:11:45 +08:00
![David Adam (zanchey)](/assets/img/avatar_default.png)
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>.
|