本文共 993 字,大约阅读时间需要 3 分钟。
-- Start
每个 Linux 命令,脚本或函数都有一个退出状态,它用来指示该命令,脚本或函数是否执行成功。0 代表成功,其他值(1-255) 代表失败。
退出状态 描述1-125 命令执行失败2 命令使用错误,如参数传递不正确126 命令不可执行127 找不到命令128-255 外部命令执行失败256 由于一个信号,命令终止对于函数来说,我们可以使用 return 语句来返回退出状态,如果一个函数没有 return 语句,默认返回函数中最后执行语句的的退出状态。对于脚本来说,我们可以使用 exit 语句来返回退出状态,如果一个脚本没有 exit 语句,默认返回脚本中最后执行语句的的退出状态。有一点需要特别注意,当脚本中的一条命令执行失败时,整个脚本并不会停止运行,所以对于可能出错的命令,我们最好检查它的退出状态,我们可以通过变量 $? 来得到它的退出状态。下面是一个简单的例子。
#!/bin/ksh grep test test.txt > /dev/null;exit_code=$?;if [[ $exit_code -ne 0 ]]; then print "command failed." exit 1;fi事实上,我们可以把命令直接写在 if 语句中,如下:
#!/bin/ksh if grep test test.txt > /dev/null; then print "command success.";else print "command failed."; exit 1;fi如果每条语句都这么检查退出状态,那么你的脚本会很长,其实,我们还可以这么写。
#!/bin/ksh # 利用逻辑运算符的短路特性grep test test.txt > /dev/null && print "command success."grep test test.txt > /dev/null || print "command failed.";exit 1-- 更多参见:
-- 声 明:转载请注明出处
-- Last Updated on 2015-09-29
-- Written by ShangBo on 2015-09-29 -- End