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.
#!/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!
Similarly:
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.
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
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
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
See Switch