aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc_src/if.txt
blob: 94d2763a6a645e20282a6263e27c3b2478cd3072 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
\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>.