IF(1)

NAME
if - conditionally execute a command

SYNOPSIS
if CONDITION; COMMANDS_TRUE ...;
[else if CONDITION2; COMMANDS_TRUE2 ...;]
[else; COMMANDS_FALSE ...;]
end

DESCRIPTION

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 <#variables-status> variable.

The -h or --help option displays help about using this command.

EXAMPLE

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

Copyright
2023, fish-shell developers