Linux和Unix的Bourne Shell退出状态示例
时间:2020-01-09 10:37:31 来源:igfitidea点击:
Bourne shell退出状态代码说明
每个UNIX命令终止时都会返回一个状态。
如果不成功,它将返回一个代码,告诉shell程序输出错误消息。
您可以使用exit命令使Shell程序保持一定的退出状态。
Bourne Shell 退出状态的典型值
0
成功。1
内置命令失败。2
发生语法错误。3
接收到的信号没有被捕获。
使用bourne shell时如何打印退出状态?
输入命令:
$ ls
要打印其退出状态,请输入以下命令:
$ echo $?
再尝试一些示例:
date1 echo $? date echo $? cat /etc/passwd echo $? grep Hyman /etc/passwd echo $?
Linux或Unix /bin/sh退出代码教程示例
如何在脚本中存储或使用退出代码
要将最后执行的命令的退出状态存储到名为status的shell变量中,请输入:
command1 status=$?
您可以将退出状态与test命令或if命令一起使用。
#!/bin/sh user="" if grep "$user" /etc/passwd; then echo "$user has an account" else echo "$user doesn't have an account" fi
如下运行:
./script-name Hyman
grep命令用作条件,但实际上可以是任何命令。
如果返回零退出状态,则条件为true;否则为false。
否则,它是错误的。
在此示例中,只要条件为true,while循环就会执行给定命令。
同样,condition可以是任何命令,并且如果该命令以零退出状态退出,则为true。
while condition; do commands done
这是另一个简单的示例:
#!/bin/sh x=0 while [ $x != 3 ] do let x=x+1 echo $x done
这是另一个示例:
#!/bin/sh while [ -r "" ] do cat >> output shift done
如下运行:
./script-name file1 file2 fil3 cat output
如何为我自己的脚本设置退出代码值
要在脚本中设置退出代码,请使用:
exit N exit 0 exit 999