Say, you are searching for a string in a text file.
$ grep x1y2z3 somefile.txt
$
The standard output of the command returns null, which is a pretty good indication that the string cannot be found in the file.
But what if you embed the grep command in a script? How can you tell if the string is found or not?
Checking the exit code will tell you. Let's first try it out interactively.
$ grep x1y2z3 somefile.txt
$ echo $?
1
Note that in bash, the exit status is 0 if the command succeeded, and 1 if failed. For grep, 0 means that the string was found, and 1 (or higher), otherwise.
To check the exit status in a script, you may use the following pattern:
somecommand argument1 argument2
RETVAL=$?
[ $RETVAL -eq 0 ] && echo Success
[ $RETVAL -ne 0 ] && echo Failure
0 comments:
Post a Comment