如何在shell程序中判断一个命令运行出错?

如何在shell程序中判断一个命令运行出错?

在shell程序中,用什么命令去判定运行一条shell命令时出错?比如说我用tar备份数据到磁带中,但因为磁带没有放进去,所以出错。      
这个论坛的人气好像不太旺哦,是不是现在用shell编程的人太少了?不流行了?      
还是得靠自己啊,我用$0这个参数来判断程序本身的值,如果是0那就代表程序正常退出,如果非0那就代表程序非正常退出了。      
1)程序执行成功一般返回 0,否则非 0(不同值有不同意义)
2)变量 $? 包含上一条命令的返回值,如:
$ false
$ echo $?

或者

$ true
$ echo $?