I'm looking for exception handling mechanism in shell script. Is there any try,catch equivalent mechanism in shell script ?
There is no try/catch in bash; however, one can achieve similar behavior using && or || . it stops your script if any simple command fails.
Let your Bash script help you find its errors with error handling. Scripting is one of the key tools for a sysadmin to manage a set of day-to-day activities such as running backups, adding users/groups, installing/updating packages, etc.
When you raise an exception you stop the program's execution. You can also use something like exit xxx where xxx is the error code you may want to return to the operating system (from 0 to 255). Here 125 and 64 are just random codes you can exit with.
There is not really a try/catch
in bash (i assume you're using bash), but you can achieve a quite similar behaviour using &&
or ||
.
In this example, you want to run fallback_command
if a_command
fails (returns a non-zero value):
a_command || fallback_command
And in this example, you want to execute second_command
if a_command
is successful (returns 0):
a_command && second_command
They can easily be mixed together by using a subshell, for example, the following command will execute a_command
, if it succeeds it will then run other_command
, but if a_command
or other_command
fails, fallback_command
will be executed:
(a_command && other_command) || fallback_command
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With