Bash和Bash脚本执行并在执行后终止。bash脚本执行完成后,将返回有关脚本的一些信息。此信息称为退出状态或退出代码。退出状态或退出代码也可以通过显式使用exit命令返回。
null
退出状态
每个shell命令或bash脚本都返回一个退出状态或退出代码,以便提供有关该命令或脚本的信息。通常,退出状态或退出代码与数字一起使用。一般用0表示命令或脚本执行成功完成。非零值通常与错误相关,该值指定有关命令或脚本的特定错误。Bash有一个特殊的变量,用于存储最新执行的脚本或命令退出状态 $? .
ls
如果此命令成功且正确执行,则退出状态如下所示。
echo $?
假设我们试图运行一个不存在的命令。
![图片[1]-Bash退出命令和退出状态-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2021/02/linuxtect_image-21.png)
退出状态是127,这意味着“ 未找到命令 “.
当我们试图写入一个没有写入权限的文件时,返回的代码是1。
echo "test" > /etc/sudoers
![图片[2]-Bash退出命令和退出状态-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2021/02/linuxtect_image-22.png)
如果尝试使用不存在的目录或路径,则退出状态为2。返回的退出状态消息为“ 没有这样的文件或目录 “.
![图片[3]-Bash退出命令和退出状态-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2021/02/linuxtect_image-23.png)
exit命令
exit命令可用于通过覆盖当前退出状态来显式指定退出状态。exit命令只是终止当前bashshell或会话并返回状态代码。整数可用于指定退出状态。在下面的示例中,我们使用exit命令将exit状态设置为2。
bash -c "ls /nonexisting; exit 2;"
![图片[4]-Bash退出命令和退出状态-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2021/02/linuxtect_image-24.png)
相关文章: 在Bash中逐行读取文件
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END