是什么
echo $?
在bash编程呢?
是什么
echo $?
在bash编程呢?
这是最后执行的命令的退出状态。
例如命令true
总是返回0
和false
状态总是返回1
状态:
true
echo $? # echoes 0
false
echo $? # echoes 1
从手册:(acessible在你的shell调用man bash
)
$?
扩展到最近执行的前台管道的退出状态。
按照惯例退出状态0
表示成功,非零返回状态表示失败。了解更多关于退出状态on wikipedia。
有这样的其他特殊变量,你可以在这个在线手册看看:https://www.gnu.org/s/bash/manual/bash.html#Special-Parameters
它有一个命令的最后一个状态代码(出口值)。
从http://www.gnu.org/s/bash/manual/bash.html#Special-Parameters
?
Expands to the exit status of the most recently executed foreground pipeline.
见The Bash Manual3.4.2 Special Parameters下:
? - 扩展到最近执行的前台管道的退出状态。
这是一个有点很难找到,因为它并不像$?
上市(变量名是“公正” ?
)。另请参阅当然;-)
快乐编码的exit status部分。
输出最后执行的unix命令
0 implies true
1 implies false
$的结果呢?返回最后执行的命令的退出值。回声$?在控制台上打印该值。零表示成功执行,而非零值映射到各种失败原因。
因此,当脚本;我倾向于使用下面的语法
if [ $? -eq 0 ]; then
# do something
else
# do something else
fi
的比较是要在平等做0或不等于0
回声$? - 给人的最近执行的命令的退出状态。这个退出状态将最可能与ZERO暗示成功和任何非零值,指示失败
多少? - 这是bash中的一个特殊参数/变量。
$? - 它给存储在变量“?”中的值。
BASH中的一些类似的特殊参数是1,2,*,#(通常在echo命令中可以看到$ 1,$ 2,$ *,$#等)。
希望这有助于....
的Unix简而言之就是非常值得选购在我看来出版物。 – wberry