Bash: If-Else Statement with Examples in Linux

by robin

A shell script generally needs to test if a command meets the condition or succeeds in batch. The test continues with a bash of statements. Just like any other program, Bash comes with conditional expressions. It allows testing the condition and then altering the control to ensure satisfaction. Bash includes a lot of different aspects like Bash if else, then, else, etc. The guide will provide you with precise insights about statements.

What is Bash if else Statement? 

When talking about programming, the ‘if’ Statement, here is the conditional Statement. It is also known as the conditional expression. The ‘if’ Statement will help execute a portion of the code when the given condition is suitable. It is generally referred to as an If-Then, If-Then-Else, or If-Else statement. An ‘if’ Statement will always test for a boolean condition to help evaluate true or false. The ‘else if’ and ‘then else’ clauses are used with the ‘if’ Statement.

bash if else

Syntax of Bash If Else Statement

The If Statement in Bash is a part of the conditional constructs of the programming language. The If there is a shell keyword that is useful for testing the conditions based on the exit status of a test command. An exit status of zero or only zero will be the success, i.e., if the condition is true. Any other existing status will be a failure, and the condition will be false. The syntax used for the if Statement will be.

if first-test-commands; then

  consequent-commands;

[elif more-test-commands; then

  more-consequents;]

[else alternate-consequents;]

fi

The test commands in the Bash if else statement or the bash elif clauses execution will happen only when the test succeeds. In case no test succeeds, and the bash else clause is already used in the code portion of the final, the ‘else’ clause will execution will happen.

The guide here will provide clear information about how to use the statements.

Also Read: How to List Drives/ Disks in Linux? (Beginner’s Guide)

If Statement

Bash If Conditional is available in different forms. The most basic if Statement will take the following form.

if CONDITIONAL-COMMAND

then

  STATEMENTS

fi

Here the if Statement starts with the if keyword. After which, you will see there is the then keyword. The Statement will end with the fi keyword. When the test command evaluates the set to be true, the Statement gets executed. While if the test command returns false, nothing will happen, and the Statement is avoided.

Generally, it is a good practice to indent the code and separate the code blocks with the blank lines. Most people choose to use either four-space or two-space indentation. The blank lines and the indentation will make your code more organized and readable.

Let’s consider an example where the Statement reads the user input and then validates the same in the if conditional Statement. The if condition will execute the following when the user input is less than 20.

You can save this code into a .sh file and execute it using the following command.

$ bash filename.sh

Bash If else Statement

The Statement will take the following form.

if CONDITIONAL-COMMAND

then

  STATEMENTS

else

  STATEMENTS

fi

Here when the test command turns out to be true, the Statements1 execution happens. Or if the test command comes out to be false, then the Statements2 execution happens. Remember, you can only have one else clause in the Statement. Using Bash if else is the most commonly used option. However, you need to know the correct text to get accurate results.

A typical example of Bash if else will be when the Statement reads the user input and then validates it in the if condition statement. Here when the user input is less than 20, the if condition will execute. If not, then the else statement execution happens.

Also Read: How To Use SCP Command for File Transfer in Linux?

If.. elif.. else 

The Statement will take the following form.

if CONDITIONAL-COMMAND1

then

  STATEMENTS1

elif CONDITIONAL-COMMAND2

then

  STATEMENTS2

else

  STATEMENTS3

fi

Here, when the test command1 turns out to be true, the statements1 execution happens. However, when the test command2 turns out to be true, the statements2 execution happens. But when none of the test commands turns out to be true, the statements2 execution happens. You can have one or more than one elif clause in the Statement. Here the else clause remains to be optional.

The condition evaluation is done sequentially. Once the condition turns out to be true, the rebating condition pauses, and the program will control moves to the end of the if Statement.

In this case, the user enters 20; if the condition fails, the control goes to the elif condition. When the condition is true, then the Statement will show the case.

Also Read: How To Add/Change URL for Remote git Repository?

Nested if Statement

Bash will allow the user to nest the statements within if statements. You have an option to place multiple if statements inside another if Statement. It will be helpful when you have to check various conditions inside the if Statement. The general Syntex for the Statement will be. Remember, the nested Statement works only when the first if condition fails.

if CONDITIONAL-COMMAND1

then

  if CONDITIONAL-COMMAND2

  then

     STATEMENTS1

  else

     STATEMENTS2

  fi

else

  STATEMENTS3 

fi

In this example, let’s consider three input values from the users to see which one will be smaller by using the nested if Statement.

How to Solve Binary Operator Expected Error?

There can be reasons behind the error. Generally, it will be due to a variable that is expanded to multiple words and is not adequately coated when used with [ or test command. And if you don’t require the script to be 100% compliant with POSIX, using [[built-in bash command will be better. It will not change or differ by the word splitting.

Frequently Asked Questions

What is the right way to use Bash if else in scripting?

If you wish the program to perform a specific action after the IF statement condition is false, then you have to use the else Statement. And when the condition is true, then the if statement execution happens. While if the condition is false, then the else statement execution will happen.

What is the use of Bash if else in the script?

A Bash if-else statement will allow you to execute its relative conditional statements in the code. One can use the if-else in the shell scripts to evaluate the condition and then decide if the execution must happen between one set or two more sets of the Statement utilizing the result.

Is there a need for an else statement in Bash?

The Else statement use is optional. If you wish to omit it, then no execution will happen when the conduct turns out to be false. You need to remember you will have to separate the condition from the square brackets with a space, or else you might get a syntax error.

What is the use of if in Bash?

The bash script is quite helpful for automating the task on the machine. The if elif Statement here will allow you to create conditional cases and responses to specific code results. Here the if conditional will help automate the decision-making process when the program is performed.

Why is ‘if else’ used?

The bash if Else Statement is helpful for the execution of both the true part and the false part of the given condition. When the condition is true, then the if block code execution happens. While if the condition is false, then the Else block code execution happens.

Conclusion

The bash script is quite a helpful conditional statement. It includes if, else, elif, etc. It works well for creating conditional programs. It will help with the execution based on the specified condition. The article provided clear insights about Bash if else and other conditional statements. You now clearly know about details and can use them correctly.

You may also like

Leave a Comment