什么

echo $?

是指shell编程吗?


当前回答

这是上次执行命令的退出状态。

例如,命令true总是返回0状态,false总是返回1状态:

true
echo $? # echoes 0
false
echo $? # echoes 1

从手册:(通过在shell中调用man bash来访问)

吗?展开到最近执行的前台管道的退出状态。

按照惯例,退出状态为0表示成功,返回状态为非零表示失败。在维基百科上了解更多关于退出状态的信息。

还有其他类似的特殊变量,你可以在这个在线手册上看到:https://www.gnu.org/s/bash/manual/bash.html#Special-Parameters

其他回答

这是上次执行命令的退出状态。

例如,命令true总是返回0状态,false总是返回1状态:

true
echo $? # echoes 0
false
echo $? # echoes 1

从手册:(通过在shell中调用man bash来访问)

吗?展开到最近执行的前台管道的退出状态。

按照惯例,退出状态为0表示成功,返回状态为非零表示失败。在维基百科上了解更多关于退出状态的信息。

还有其他类似的特殊变量,你可以在这个在线手册上看到:https://www.gnu.org/s/bash/manual/bash.html#Special-Parameters

它是命令的最后一个状态码(退出值)。

echo $ ?-给出最近执行的命令的EXIT STATUS。这个EXIT STATUS很可能是一个数字,其中0表示成功,任何非0值表示失败

吗?-这是bash中的一个特殊参数/变量。

$ ?-它给出存储在变量"?"中的值。

BASH中一些类似的特殊参数有1、2、*、#(通常在echo命令中可以看到$1、$2、$*、$#等)。

从http://www.gnu.org/s/bash/manual/bash.html特殊参数

?
Expands to the exit status of the most recently executed foreground pipeline. 

输出上次执行的unix命令的结果

0 implies true
1 implies false