Linux编程Shell之入门——Shell $?:返回值或者上个命令退出状态
在 Shell 脚本中,$? 是一个特殊变量,表示上一个命令的退出状态。在 Shell 中,命令执行成功通常返回 0,错误和失败则返回非零值(通常是 1)。
在脚本中使用 $? 可以获取上一个命令的退出状态,并根据状态码判断命令的执行结果。具体来说,通常可以将 $? 与条件语句结合使用,来做出相应的判断。例如,可以使用下面的代码块来判断上一个命令是否执行成功:
command
if [ $? -eq 0 ]; then
echo "命令执行成功"
else
echo "命令执行失败"
fi
另外,$? 变量还可以与 Exit 命令结合使用,为脚本设置退出状态码。例如,可以使用下面的代码块来设置脚本的退出状态码:
command
if [ $? -ne 0 ]; then
echo "命令执行失败"
exit 1
fi
在上述代码块中,如果命令执行失败,就会输出 “命令执行失败” 并退出脚本(exit 1 会将脚本的退出状态码设置为 1)。
需要注意的是,?变量所保存的状态码只与前一个命令的执行结果有关,如果在两个命令之间执行了其他命令,?变量所保存的状态码只与前一个命令的执行结果有关,如果在两个命令之间执行了其他命令,? 变量的值将被覆盖,因此需要及时获取并使用上一个命令的退出状态码。
相关推荐
-
PHP8种变量类型的详细讲解2025-02-22 00:32:24
-
php+apache 和 php+nginx的区别2025-02-22 00:21:27
-
PHP:与workerman结合实现定时任务2025-02-22 00:15:57
-
Nginx的Rewrite规则与实例2025-02-22 00:15:39
-
MySql中身份证字段的简单脱敏介绍2025-02-22 00:15:36