什么
echo $?
是指shell编程吗?
什么
echo $?
是指shell编程吗?
当前回答
从http://www.gnu.org/s/bash/manual/bash.html特殊参数
?
Expands to the exit status of the most recently executed foreground pipeline.
其他回答
参见3.4.2特殊参数中的Bash手册:
? —展开到最近执行的前台管道的退出状态。
有点难找,因为它没有列在$?(变量名是“just”?)当然,还可以查看退出状态部分;-)
快乐的编码。
从http://www.gnu.org/s/bash/manual/bash.html特殊参数
?
Expands to the exit status of the most recently executed foreground pipeline.
echo $ ?-给出最近执行的命令的EXIT STATUS。这个EXIT STATUS很可能是一个数字,其中0表示成功,任何非0值表示失败
吗?-这是bash中的一个特殊参数/变量。
$ ?-它给出存储在变量"?"中的值。
BASH中一些类似的特殊参数有1、2、*、#(通常在echo命令中可以看到$1、$2、$*、$#等)。
$ ?返回最后执行命令的退出值。echo $ ?在控制台打印该值。0表示执行成功,而非0值则映射为失败的各种原因。
因此当编写脚本时;我倾向于使用以下语法
if [ $? -eq 0 ]; then
# do something
else
# do something else
fi
比较是在等于0或不等于0时进行的。
**基于注释的更新:理想情况下,你不应该使用上面的代码块进行比较,参考@tripleee注释和解释。
它是命令的最后一个状态码(退出值)。