监控BASH脚本执行的命令的退出状态.250108

解释代码: if [ $? -eq 0 ]; then

在 Bash 脚本中,$? 是一个特殊的变量,它表示上一个执行的命令的退出状态。在 Unix-like系统中,命令成功执行通常返回 0,而非零的返回值通常表示命令执行失败或发生错误。

if [ $? -eq 0 ]; then 这行代码的意思是:

if: Bash 中的条件语句关键字,用于开始一个条件判断。
[: 测试命令的开始,与 ] 配对使用。
$?: 上一个命令的退出状态。
-eq 0: 检查 $? 是否“等于(equal)”0。
then: 如果 [ $? -eq 0 ] 的结果为真(即上一个命令成功执行),则执行 then 后面的代码块。

如果上一个命令成功执行,退出状态将会是 0,if 条件将评估为真,然后执行 then 后面的代码块。如果上一个命令失败,退出状态将非 0,if 条件将评估为假,then 后面的代码块将不会执行,脚本会继续执行 else 部分(如果有的话)或者跳过整个 if 块。

例如:

npm install --registry=https://registry.npmmirror.com
if [ $? -eq 0 ];then
echo "=======================npm install end ======================="
else
echo "=======================npm install error ======================="
exit -1;
fi
posted @   李济宏(Amadeus)  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
历史上的今天:
2010-01-08 SDLC (System Develop Life Cycle)
2008-01-08 Session 详解
点击右上角即可分享
微信分享提示