如何在shell脚本中处理异常?

时间:2014-02-27 13:33:14

标签: shell exception

我从4列表中获取数据。如果所有4列都有某种数据(非空),那么它正在工作。如果其中一个列是null,那么它将抛出一个错误。从表中获取文件名,并将文件保存在服务器的一个目录中,并通过电子邮件发送该文件。

我需要做的是,假设一列为空,其他3列不为null,那么它应该发送剩余的文件而不是错误。

2 个答案:

答案 0 :(得分:3)

假设你正在使用bash,你可以使用||和&&因为bash中没有try / catch。例如:

Run command2 if command1 fails:
command1 || command2

Run command2 if command1 is successful:
command1 && command2

答案 1 :(得分:1)

要检查最后一个命令的返回码,请使用以下变量:$?

例如:

echo "abc" > /dev/null
echo $? 

返回0,这意味着没有错误

当您有错误时:

cat /etc/shadow
cat: /etc/shadow: Permission denied
echo $?

返回错误的1,通常每个非零返回码都是错误。