In this topic, we'll understand the way to use if-else statements in Bash scripts to urge our automated tasks completed.
Bash if-else statements are utilised to do conditional tasks inside the sequential flow of execution of our statements. Sometimes, we would like to process a selected set of statements if a condition is true, and another set of statements if it's false. To perform such sorts of actions, we will apply the if-else mechanism. we will apply the condition with the 'if statement'.
Bash If Else Syntax
A syntax of if-else statement in Bash Shell Scripting are often described as below:
if [ condition ]; 
then 
 else 
 fi Important Points to recollect
We can use a group of 1 or more conditions joined using conditional operators.
Else block commands includes a group of actions to perform when the condition is fake .
The semi-colon (;) after the conditional expression may be a must.
Check out the subsequent examples demonstrating the utilization of the if-else statement in Bash Script
Example1:
In this example we have mentioned two scenarios where in 1st scenario we have tried to find out that 100 is greater or lesser than 300.
#!/bin/bash  
  
#when the condition is true  
if [ 100 -gt 300 ];  
then  
  echo "100 is greater than 300."  
else  
  echo "100 is lesser than 300."  
fi  
  
#when the condition is false  
if [ 300 -gt 100 ];  
then  
  echo "300 is greater than 100."  
else  
  echo "300 is lesser than 100."  
fi  
Let’s see what output we get when we run this script.
Example 2:
In this instance, we described how to use various conditions with the if-else statement in Bash. We use bash rational operators to join various conditions.
#!/bin/bash  
  
# When condition is true  
# TRUE && FALSE || FALSE || TRUE  
if [[ 10 -gt 9 && 10 == 9 || 2 -lt 1 || 25 -gt 20 ]];  
then  
  echo "Given condition is true."  
else  
  echo "Given condition is false."  
fi  
  
# When condition is false  
#TRUE && FALSE || FALSE || TRUE  
if [[ 10 -gt 9 && 10 == 8 || 3 -gt 4 || 8 -gt 8 ]];  
then  
  echo "Given condition is true."  
else  
  echo "Given condition is not true."  
fi  
Output of the given code snippet: -
Bash If Else Statement during a Single Line
We can write an entire 'if-else statement' alongside the commands during a single line. you would like to follow the given rules to use the if-else statement during a single line:
Utilize a semi-colon (;) at the top of statements in if and else blocks.
Utilize white spaces as a delimiter to add all the statements.
An example is given below demonstrating the way to use the if-else statement during a single line:
#!/bin/bash  
  
read -p "Enter a value:" value  
if [ $value -gt 27 ]; then echo "The value you typed is greater than 27."; else echo "The value you typed is not greater than 27."; fi  Output of this Command is given below, and for the this command I have shown both the condition.
Bash Nested If Else
Just like nested if statement, the if-else statement also can be used inside another if-else statement. it's called nested if-else in Bash scripting.
Following is an example explaining the way to make use of the nested if-else statement in Bash:
Here is the code for nested if else conditions.
#!/bin/bash  
  
read -p "Enter a value:" value  
if [ $value -gt 9 ]; # -gt to check if it's greater than or not  
then  
  if [ $value -lt 11 ];  # -lt for checking the value if it's lesser than or not
  then  
     echo "$value>9, $value<11"  
  else  
    echo "The value you typed is greater than 9."  
  fi  
else echo "The value you typed is not greater than 9."  
fi 
