当前位置: 首页 > Linux

shell脚本中的退出状态解释

时间:2023-04-06 20:50:21 Linux

命令的返回值是它的退出状态,用于检查命令执行的结果(成功/失败)。如果退出状态为0,则命令执行成功。如果命令失败,则退出状态为非零。下表是退出状态对应的返回值的解释:返回值退出状态0成功非零状态失败2使用不正确126不是可执行文件127commandnotfound$?特殊变量shell中的变量名$?是一个特殊的内置变量,用于获取最后执行的命令的退出状态。Shell脚本中的退出状态解释Shell脚本中的退出状态解释news.163.com/17/1212/09/D5EQJ2A400014AEE.htmlwww.techweb.com.cn/prnews/qiyenews/archives/59589.html执行shell函数后,$?返回在函数中执行的最后一个命令的退出状态。执行一个shell脚本后,$?返回脚本中执行的最后一个命令的退出状态。具有退出状态的脚本示例下面的exit_status.sh脚本显示了几种退出状态:[root@localhostscripts]#vimexit_status.sh!/bin/bashecho-e"Successfulexecution"echo-e"====================="echo"helloworld"的退出状态为0因为命令执行成功。echo"退出状态"$?echo.echo-e"Incorrectusage"echo-e"====================="ls--option使用错误的用法,所以退出状态为2.echo"退出状态"$?echo.echo-e"CommandNotfound"echo-e"======================"bashscript以状态127退出,因为脚本或命令不存在.echo"退出状态"$?echo.echo-e"Commandisnotanexecutable"echo-e"================================================================================================================================.shls-lexecution.sh./execution.sh以状态126退出,因为该文件没有执行权限。echo"退出状态"$?echo.echo-e"自定义状态"echo-e"======================"functiontest1(){if[!-x"./execution.sh"];然后echo"\"./execution.sh\"没有执行权限!!"return66fi}test1退出状态为66,函数test1判断文件是否不存在,不存在则返回echo语句,定义返回值。echo"退出状态"$?Shell脚本中退出状态的解释Shell脚本中退出状态的解释下面是执行结果后返回的各种退出状态。Shell脚本中的退出状态解释Shell脚本中的退出状态解释总结一个命令的返回值就是它的退出状态,用来检查命令执行的结果(成功/失败)。如果退出状态为0,则命令执行成功。如果命令失败,则退出状态为非零。