"This post is the second in a series on shell script
debugging, error handling, and security. The content of this post
will be geared mainly toward BASH users, but there will be
information that's suitable for users of other shells as well.
Information such as techniques and methodologies may transfer very
well, but BASH specific constructs and commands will not. The users
of other shells (CSH, KSH, etc) will have to do some homework to
see what transfers and what does not.
"There are a lot of opinions about how error handling should be
done, which range from doing nothing to implementing comprehensive
solutions. In this post, as well as my professional work, I try to
err on the side of in-depth solutions. Some people will argue that
you don't need to go through the trouble of providing error
handling on small single-user scripts, but useful scripts have a
way of growing past their original intent and user group. If you're
a system administrator, you need to be especially careful with
error handling in your scripts. If you or an admin under you gets
careless, someday you may end up getting a call from one of your
users complaining that they just deleted the contents of their home
directory – with one of your scripts. It's easier to do than
you might think when precautions are not taken. All you need are a
couple of lines in your script like the those in Listing 1."