在Linux脚本中,判断命令是否成功运行的核心方法是检查命令的返回值(通过$?
变量),返回值为0表示成功,非0表示失败。关键亮点包括:实时状态反馈、条件逻辑灵活组合、错误处理自动化,这些能力是脚本可靠性的基石。
-
返回值机制:每个命令执行后都会返回一个整数状态码,
$?
变量存储最近一次命令的返回值。例如:bash复制
ls /nonexistent_file if [ $? -eq 0 ]; then echo "成功" else echo "失败" # 实际输出 fi
直接通过
if command
也可隐式判断返回值,简化代码。 -
逻辑运算符组合:利用
&&
(逻辑与)和||
(逻辑或)实现链式判断。例如:bash复制
mkdir /tmp/test && echo "创建成功" || echo "创建失败"
仅当
mkdir
成功时才会执行echo "创建成功"
,否则执行错误分支。 -
文件与目录检测:通过测试命令(如
-e
判断文件存在性)结合返回值,实现更复杂的逻辑:bash复制
[ -f "/var/log/app.log" ] && echo "日志文件正常" || echo "日志缺失"
-
多命令批量判断:使用
set -e
让脚本在任意命令失败时立即退出,或通过循环遍历命令列表,逐一检查$?
值实现批量验证。
总结:掌握返回值判断和逻辑组合,能大幅提升脚本的健壮性。建议在实际脚本中加入详细的错误日志,并优先处理关键命令的失败场景,确保自动化流程的可控性。