51testing周末精品班学员,关注自动化测试、性能测试,开源测试工具。欢迎大家与我交流。
shell脚本的退出与退出状态码
上一篇 /
下一篇 2013-02-26 10:21:24
/ 个人分类:Shell脚本
exit被用来结束一个脚本, 就像在C语言中return一样。 它也返回一个值, 并且这个值会传递给脚本的父进程, 父进程会使用这个值做下一步的处理。
在脚本或者是脚本函数中执行的最后的命令会决定退出状态码。在脚本中,
exitnnn命令将会把
nnn退出码传递给
shell(
nnn必须是十进制数,范围必须是
0-
255)。
$?保存了最后所执行的命令的退出状态码。一般情况下,0表示成功, 在范围1 - 255的整数表示错误。
$?用于
测试脚本中的命令结果的时候, 往往显得特别有用。
对于具有良好编程习惯的人,应该在预知错误处用exit输出错误代码,以便调试定位脚本问题。
1 #!/bin/bash
2
3 echo hello
4 echo $? # 退出状态为0, 因为命令执行成功.
5
6 lskdf # 无效命令.
7 echo $? # 非零的退出状态, 因为命令执行失败.
8
9 echo
10
11 exit 113 # 返回113退出状态给shell.
12 # 为了验证这个结果, 可以在脚本结束的地方使用"echo $?".
13
14 # 一般的, 'exit 0' 表示成功,
15 #+ 而一个非零的退出码表示一个错误, 或者是反常的条件.
收藏
举报
TAG: