As we have seen so far, it is possible to build simple conditions using command-line lists. These conditionals can be written both with and without a test. As the complexity of the tasks increases, it will be easier to create statements using if
. This certainly will ease both the readability of the script and the logic layout. To a degree, it also matches the way in which we think and speak, if
is a semantic in our spoken language as it is within the bash script.
Even though it will take up more than a single line in the script, with an if
statement we can achieve more and make the script more legible. With that said, let's look at creating if
conditions. The following is an example of a script using an if
statement:
#!/bin/bash # Welcome script to display a message to users # Author: @theurbanpenguin # Date: 1/1/1971 if [ $# -lt 1 ] ; then echo "Usage: $0 <name>" exit 1 fi echo "Hello $1" exit 0
The code within the if
statement will run only when the condition evaluates to true and the end of the if
block is denoted with fi
- if
backwards. The color coding in vim
can be useful to aide readability, which you may see in the following screenshot:
Within the script, we can easily add in multiple statements to run when the condition is true. In our case, this includes exiting the script with an error indicated, as well as, the usage
statement to assist the user. This ensures that we only display the Hello message if we have supplied a name to be welcomed.
We can view the script execution both with and without the argument in the following screenshot:
To help us understand the layout of the if
conditional statement, the following illustration demonstrates the syntax using a pseudo-code:
Indenting the code is not required but it helps readability and is highly recommended. Adding the then
statement to the same line as the if
, again, assists in the readability of the code and the semi-colon is required to separate the if
from the then
.
3.133.127.37