$的含义? 在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名是“只” ?
)。 当然也可以看到存在的状态部分;-)
快乐的编码。