我遇到了一个echo $?
使用 的 shell 脚本。这是什么意思。我们如何在 shell 脚本中使用它。有没有这方面的参考资料。
答案1
echo $?
表示前一个命令的状态
参见此处的示例
[root@localhost ~]# jk -bash:jk:未找到命令 [root@localhost ~]# echo $? 1 [root@localhost ~]# 密码 /根 [root@localhost ~]# echo $? 0 [root@localhost ~]#
第一次你得到 1 是因为命令错误,第二次你得到 0 是因为命令成功
没有调用任何命令jk
(就我而言)
答案2
$? 返回 bash(可能还有其他)shell 中最后运行的命令的结果。
从http://tldp.org/LDP/abs/html/exit-status.html例 6-1:
/bin/bash #!/bin/bash 回声你好 echo $? # 由于命令执行成功,因此返回退出状态 0。 lskdf # 无法识别的命令。 echo $? # 返回非零退出状态——命令执行失败。 回声 exit 113 # 将返回 113 给 shell。 # 为了验证这一点,请在脚本终止后输入“echo $?”。 # 按照惯例,“exit 0”表示成功, #+ 而非零退出值意味着错误或异常情况。 # 参见“具有特殊含义的退出代码”附录。