Linux provides users a great cool feature of the command-line tool along with a graphical user interface where they can perform tasks via ruining command. All of this command returns a status according to their execution. Its execution value can be used for showing errors or take some other action in a shell script.
Exit status is following according to their execution
- Command was successfully executed: 0 ( value of exit status)
- Command was a failure: 1 – 255 ( value of exit status will be b/w 1 to 255)
Exit status: Every Linux command has exit status after execution. Its value can get by calling $? ( shell variable ). It gives the value of previous executed command.
Note: Command for printing exit status for privious command: echo $?
Here in this article, a shell script will be written to display the exit status using the grep command. It will show an example of shell scripts to display the exit status.
To write the script code for this follow the below steps
- Use the touch command to create the database which is a text file named gfg.txt.
- Now get the key from the user if he wants to insert it in the database or check that the book is present in a database or not( means the book has read or not ).
- Now according to the chosen key make the if-else block and read the book Name from the user.
- In the first condition check the availability of the book using the grep command and get the exit status value and check if 0 or not. And the second condition simply gets the book name and adds the name to the database.
- Now, print the status of the book read according to the value of the exit status of the previous command.
Shell Script Code:
# shell script for display exit status by using grep command # make an file gfg.txt to contain the book name of user that he has read touch gfg.txt # now print user to tell him the scenerio echo "Please, enter the some of your book name that you have read or a book name that you want to know read status of that book" echo # print the key to ask user find the book or write the book name echo "Please enter a key like following" echo "Enter 1 to know the book read status" echo "Enter 2 to write the book name in book database ( gfg.txt )" # read the entered key read key echo # check the condition using if-else statement if [[ $key == 1 ]] then # loop to get the name of book continuously while [ 1 ] do # print the initial statement echo "Enter book name about that you want to know read status or -1 for exit" # read the book name and find in gfg.text using grep command read bookName # check condition to break the loop if [[ $bookName == -1 ]] then break else # now find the book in gfg.text count=$(grep -c "$bookName" gfg.txt) # get the exit status of the privous command exitStatus=$? # check the value of exitStatus and print output according that if [[ $exitStatus == 0 ]] then # give the msg to user that he have read that book echo "Your privious command exit status is $exitStatus" echo "You have read the $bookName book." echo else # give the msg to user that he didn't read that book yet. echo "Your privious command exit status is $exitStatus" echo "You didn't read $bookName book yet." echo fi fi done else # loop to get the name of books continuously while [ 1 ] do echo "Enter book name that you want write in database (gfg.txt) or -1 for exit" # read the name of book read bookName # check the condition to break the loop if [[ $bookName != -1 ]] then # write the book name in text file echo $bookName >> gfg.txt else break fi echo done fi
In the first example will show the inserting book name in the database ( gfg.text).
In the second example will know about the check the book read status ( internal checking using grep command and exit status):