Rah*_*ant 11 unix linux bash ksh
我有一段代码,说如果一切都执行了邮件,如果它失败了邮件给那个人带有错误信息.
if [[ $? -ne 0 ]]; then
  mailx -s" could not PreProcess files" xyz@abcd.com
else            
  mailx -s" PreProcessed files" xyz@abcd.com
fi
done
我是linux编码的新手我想了解是什么if [[ $? -ne 0 ]];意思
bis*_*hop 17
打破它,简单的术语:
[[ and ]]
......表示正在进行真实性测试.
$?
...是一个保存最后一次运行命令的退出代码的变量.
-ne 0
...检查左边的东西($?)是否"不等于"为"零".在UNIX中,以零为退出的命令成功,而具有任何其他值(1,2,3 ......最多255)的退出是失败.
if [[ $? -ne 0 ]]; 
正在检查前一个if if条件的返回代码.
$? 表示返回代码$? -ne 0 表示上一个命令返回错误,因为0被视为成功