mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-30 06:03:49 +08:00
37 lines
1.2 KiB
Plaintext
37 lines
1.2 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 CONDITION. If the condition's
|
|
exit status is 0, the commands COMMANDS_TRUE will execute. If the
|
|
exit status is not 0 and <tt>else</tt> is given, 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">and</a> and <a
|
|
href="commands.html#or">or</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>.
|