JustGeek.in Tech, simplified.

IF Conditions in Bash

If you’re new to Bash, you might find some of the syntax a bit tricky to understand at first. One of the most important concepts to grasp is the use of IF conditions. In this article, we’ll take a closer look at IF conditions in Bash, and provide some examples to help you understand how they work.

IF conditions are used to check whether a certain condition is true or false. In Bash, IF conditions are typically used to determine whether a particular command or set of commands should be executed. The basic syntax of an IF condition in Bash is as follows:

if [ condition ]
then
    command
fi

Here, condition is the condition you want to check, and command is the command you want to execute if the condition is true. Note that the if statement must be followed by the then keyword, and the fi keyword must be used to close the statement.

Examples

Let’s take a look at some examples of IF conditions in Bash.

Example 1: Checking for a String Match

The following script checks whether the variable $fruit is equal to “apple”:

fruit="apple"

if [ "$fruit" = "apple" ]
then
    echo "You chose an apple!"
fi

Example 2: Using the =~ Parameter

The following script checks whether the variable $email contains the string “gmail.com“:

email="[email protected]"

if [[ "$email" =~ "gmail.com" ]]
then
    echo "Your email is a Gmail address."
fi

Example 3: Checking for a File’s Existence

The following script checks whether the file /path/to/file exists:

if [ -e "/path/to/file" ]
then
    echo "The file exists."
else
    echo "The file does not exist."
fi

Difference between double brackets and single brackets.

The distinction between double brackets “[[ ]]” and single brackets “[]” lies in their capabilities. Double brackets offer enhanced functionalities like pattern matching and logical operators. For instance:

#!/bin/bash

value=5

if [[ $value -gt 3 && $value -lt 8 ]]; then
    echo "Value is between 3 and 8."
fi

Single brackets, however, are more basic:

#!/bin/bash

name="Alice"

if [ "$name" == "Alice" ]; then
    echo "Hello, Alice!"
fi

Conclusion

IF conditions are an essential part of Bash scripting. By using them, you can make your scripts more dynamic and responsive to different conditions. We hope this article has provided you with a better understanding of how IF conditions work in Bash, and provided some useful examples to get you started.