shell退出和退出状态学习笔记

来源:互联网 发布:ubuntu切换打字法 编辑:程序博客网 时间:2024/04/27 21:53
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@rong2 test]# echo $?  
12
因为没有aaa这个命令,所以结束脚本。

本文出自 “Mr_Z” 博客,请务必保留此出处http://zhangrong.blog.51cto.com/2196532/951509

原创粉丝点击