====== BASH - if...then...else ====== If takes the form: if CONDITION then STATEMENTS fi **NOTE:** The statements are only executed if the CONDITION is true. The **fi** keyword is used for marking the end of the **if** statement. ---- ===== Example ===== #!/bin/bash echo -n "Enter a number: " read num if [[ $num -gt 10 ]] then echo "Number is greater than 10." fi **NOTE:** The above program will only show the output if the number entered is greater than ten. The space around the **[[ ]]** are required! * **-gt**: stands for greater than; Similarly: * **-lt**: for less than. * **-le**: for less than or equal. * **-ge**: for greater than or equal. ---- ===== More Control Using If Else ===== Combining the else construct with if allows much better control over the script’s logic. #!/bin/bash read n if [ $n -lt 10 ]; then echo "It is a one digit number" else echo "It is a two digit number" fi **NOTE:** The **else** part needs to be placed after the action part of **if** and before **fi**. ---- ===== Using Elif ===== The **elif** statement stands for 'else if' and offers a convenient means for implementing chain logic. #!/bin/bash echo -n "Enter a number: " read num if [[ $num -gt 10 ]] then echo "Number is greater than 10." elif [[ $num -eq 10 ]] then echo "Number is equal to 10." else echo "Number is less than 10." fi ---- ===== AND ===== Use **&&**. #!/bin/bash echo -n "Enter Number:" read num if [[ ( $num -lt 10 ) && ( $num%2 -eq 0 ) ]]; then echo "Even Number" else echo "Odd Number" fi ---- ===== OR ===== Use **||**. #!/bin/bash echo -n "Enter any number:" read n if [[ ( $n -eq 15 || $n -eq 45 ) ]] then echo "You won" else echo "You lost!" fi ---- ===== References ===== See [[BASH:Switch|Switch]]