Extending if with else
When a script is required to continue regardless of the result of the if
condition, it is often necessary to deal with both conditions of the evaluation. What to do when it is true, as well as, false. This is where we can make use of the else
keyword. This allows the execution of one block of code when the condition is true and another when the condition is evaluated as false. The pseudo-code for this is shown in the next illustration:
If we consider extending the hello5.sh
script that we created earlier, it is easily possible to allow for correct execution regardless of the parameter being present or not. We can recreate this as hello6.sh
, as follows:
#!/bin/bash # Welcome script to display a message to users # Author: @theurbanpenguin # Date: 1/1/1971 if [ $# -lt 1 ] ; then read -p "Enter a name: " name=$REPLY else name=$1 fi echo "Hello $name" exit 0
The script sets a named variable now, it helps readability and we can assign the correct value to $name
from the input...