if - conditionally execute a command¶
if CONDITION; COMMANDS_TRUE ...; [else if CONDITION2; COMMANDS_TRUE2 ...;] [else; COMMANDS_FALSE ...;] end
if 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 else is given,
COMMANDS_FALSE will be executed.
You can use and or or in the condition. See the second example below.
The exit status of the last foreground command to exit can always be accessed using the $status variable.
The -h or --help option displays help about using this command.
The following code will print
foo.txt exists if the file foo.txt exists and is a regular file, otherwise it will print
bar.txt exists if the file bar.txt exists and is a regular file, otherwise it will print
foo.txt and bar.txt do not exist.
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
The following code will print “foo.txt exists and is readable” if foo.txt is a regular file and readable
if test -f foo.txt and test -r foo.txt echo "foo.txt exists and is readable" end