$的含义? 在shell脚本中

什么

echo $? 

在bash编程中是什么意思?

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

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

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

从手册:(可通过调用shell中的man bash

$? 扩展到最近执行的前台pipe道的退出状态。

按照惯例,退出状态0表示成功,非零返回状态表示失败。 详细了解维基百科上的 退出状态

还有其他一些特殊的variables可以在这个在线手册中看到: https : //www.gnu.org/s/bash/manual/bash.html#Special-Parameters

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

$? 返回最后执行的命令的退出值。 回声$? 在控制台上打印该值。 零表示成功执行,而非零值映射到各种失败原因。

因此,当脚本; 我倾向于使用以下语法

 if [ $? -eq 0 ]; then # do something else # do something else fi 

比较是等于0或不等于0

echo $? – 给出最近执行的命令的退出状态。 这个EXIT STATUS可能是一个数字,ZERO表示成功 ,任何非零值表示失败

– 这是bash中的一个特殊参数/variables。

$? – 它给存储在variables“?”中的值。

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

希望这可以帮助….

http://www.gnu.org/s/bash/manual/bash.html#Special-Parameters

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

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

 0 implies true 1 implies false 

请参阅3.4.2特殊参数下的Bash手册 :

? – 扩展到最近执行的前台pipe道的退出状态。

这是有点难以find,因为它不被列为$? (variables名是“只” ? )。 当然也可以看到存在的状态部分;-)

快乐的编码。