Checking the exit status of commands
Automation using shell scripts involves checking whether an earlier command executed successfully, whether a file is present, and so on. You will learn various constructs such as if
, case
, and so on, where we will need to check whether certain conditions are true or false. Accordingly, our script should conditionally execute various commands.
Let's enter the following command:
$ ls
Using the Bash shell, we can check whether the preceding command executed successfully as follows:
$ echo $?
The preceding command will return 0 if the ls
command executed successfully. The result will be non-zero, such as 1 or 2 or any other non-zero number, if the command has failed. The Bash shell stores the status of the last command execution in a variable. If we need to check the status of the last command execution, then we should check the content of the variable.
Let's take the following example:
$ x=10$ y=20$ (( x < y ))$ echo $?0
This indicates that the $(( x < y...