Bash exit on error

29/12/2020
An exit status code is returned when any Linux command is executed from the terminal, either the command is successful or unsuccessful. This status code can be used to show the error message for unsuccessful execution or perform any particular task by using shell script. The exit status code always represents by a number. The value of this code is 0 for the successful execution of any Linux command and it returns any number from 1 to 255 for the unsuccessful execution of the command. How the exist status code can be used from the terminal and in the bash script are shown in this tutorial.

Some common error status codes are mention below.

Code Description Comments
0 It indicates successful execution.
1 It is used to catch all general errors. “Divide by zero”, “Operation not permitted” etc. can be the error messages of this code.
2 It indicates the abuse of shell built-ins. “Missing keyword”, “No such file or directory” etc. can be the error messages of this code.
126 It generates when the any command is unable to execute. Permission problem or required key not available can generate this status code
127 It normally generates for the command path problem. “Command not found” can be the message for this error code.
130 It generates for fatal error. “Script terminated by Ctrl+C” can be the message of this code.
255* It indicates exit code out of range.

Example-1: Reading exit code from the terminal

‘$?’ shell variable can be used to display the exit code of any command. ‘ls –la’ is a valid command and it shows the list of files and folders of the current working directory. The value of ‘$?’ will be 0 after executing ‘ls -la’ command. ‘ls –xyz’ is an invalid command and ‘$?’ will return 2 as error code after executing the command.

$ ls -la
$ echo $?
$ ls -xyz
$ echo $?

Example-2: Reading exit code in bash script

Create a bash file named read_file.sh with the following script. In this script, the file name will be taken as user’s input and, total number of lines, words and characters of that file will be counted by using `wc` command. If the file name is valid then the value of $status_code is 0 and if the file name is invalid, then then the value of $status_code is 1.

read_file.sh

#!/bin/bash
echo "Enter the filename"
read filename
wc -lwc $filename
status_code=$?
echo "The exit of ‘wc’ command is : $status_code"

Example-3: Using exit code value for doing specific task

Create a bash file named read_month.sh with the following code. Here, a date value will be taken as input. The name of the month will retrieve from the date value if the input date is valid otherwise “invalid date” error message will appear.  ‘if’ condition is used in the script to check the exit status code of the date command. If the condition is true, then the success message and month name of the date will be printed. If the condition is false, then the failure message and exit status code, 1 will print.

read_month.sh

#!/bin/bash
echo "Enter a date in the format: YYYY-MM-DD"
read date_value
current_month=$(date -d "$date_value" ‘+%B’)
if [ $? -eq 0 ]
then
echo "Date command is executed Successfully"
echo "Current month is $current_month"
else
echo "Date command is not executed Successfully"
exit 1
fi

Run the script.

$ bash read_month.sh

Example-4: Using && and || with exit code

‘&&’ Logical operator is used for successful exit code and ‘||’ logical operator is used for unsuccessful exit code. The following command will print ‘File exists’ if book.txt file exists in the current location and print ‘File not exists’ if book.txt file not exists in the current location.

$ cat book.txt && echo "File exists" || echo "File not exists"

Conclusion:

Different uses of exit status code are shown in this tutorial. Hope, the reader will get a clear concept about exit status code of bash after reading this tutorial.

ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

Some Useful Bash Aliases and How to Create Bash Aliases

Do you spend a good amount of time working in the command line? Then you may have noticed that most of the commands you...
29/12/2020

Bash Alias Tutorial

How to use bash aliases Most of the users like to use shortcuts for running commands. There are many commands in Ubuntu...
28/12/2020

Bash Comments

How to use single and multiple line comments in BASH Using comments in any script or code is very important to make the...
28/12/2020
Bài Viết

Bài Viết Mới Cập Nhật

mua Proxy riêng ở đâu, và nó đem lại lợi ích gì cho người sử dụng
22/11/2022

Hướng dẫn sử dụng Proxy Helper Fakeip khi thuê proxy
21/11/2022

PROXY NUÔI TÀI KHOẢN FACEBOOK – KINH NGHIỆM FAKE IP – THUÊ PROXY GIÁ RẺ
14/11/2022

Mua Proxy Nuôi Zalo Giá Rẻ Tại Onet.com.vn
14/11/2022

BẢNG GIÁ MUA PROXY VIỆT NAM và PROXY US Onet.com.vn
14/11/2022