Shell退出和退出状态基本语法

exit 命令被用来结束脚本,就像C 语言一样,他也会返回一个值来传给父进程,父进程会判断是否可用。
 
每个命令都会返回一个exit 状态(有时候也叫 return 状态). 成功返回 0, 如果返回一个非 0 值,通常情况下都会被认为是一个错误码.一个编写良好的UNIX命令,程序,和工具都会返回一个0 作为退出码来表示成功,虽然偶尔也会有例外.
 
同样的,脚本中的函数和脚本本身都会返回退出状态.在脚本或者是脚本函数中执行的最后的命令会决定退出状态.在脚本中,exit nnn 命令将会把 nnn 退出码传递给 shell(nnn必须是 10进制数 0-255). 
当一个脚本以不带参数exit 来结束时,脚本的退出状态就由脚本中最后执行命令来决定.

#!/bin/bash
 
COMMAND_1
 
. . .
 
# 将以最后的命令来决定退出状态
COMMAND_LAST
 
 exit $?

$? 读取最后执行命令的退出码.函数返回后,$? 给出函数最后执行的那条命令的退出码. 这种给返回值的方法是Bash的方法.对于脚本来说也一样.总之,一般情况下,0 为成功,非0为失败..


Example:

###############Start Script########

#!/bin/bash
pwd
hostname
ifconfig
aaa
exit 12
df -h
whoami
uname -r
exit 22
###############End Script########    
[root@ ]# echo $?  
12

因为没有aaa这个命令,所以结束脚本。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/86498f72bb280eaf8d6d47c4add9bca0.html