In Linux shell script, the if statement is used for conditional branching based on the result of a test command. The basic syntax for the if statement is as follows:
if [ condition ]
then
# commands to execute if condition is true
else
# commands to execute if condition is false
fi
Here, condition is the test command whose exit status determines whether the condition is true or false. The test command can be any command that returns an exit status of 0 for success and a non-zero value for failure.
Some common test commands that can be used in the if statement include:
[ expression ]: tests a condition based on the values of its operandstest expression: same as above, can also be written as[[ expression ]]command: tests the exit status of a command[[ -n string ]]: tests whether a string is non-empty[[ -z string ]]: tests whether a string is empty
Here is an example of using the if statement with the [ expression ] test command:
#!/bin/bash
if [ -f "/etc/passwd" ]
then
echo "File /etc/passwd exists"
else
echo "File /etc/passwd does not exist"
fi
This script checks if the file /etc/passwd exists and prints a message accordingly. If the file exists, the condition is true and the echo command in the then block is executed. If the file does not exist, the condition is false and the echo command in the else block is executed.