Creating conditional statements using if

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:

Creating conditional statements using if

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:

Creating conditional statements using if

To help us understand the layout of the if conditional statement, the following illustration demonstrates the syntax using a pseudo-code:

Creating conditional statements using if

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.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.133.127.37