linux – echo $是什么?做?教程
参见英文答案 > How do I look up exit codes for applications? 2个
在我的终端中,它打印出一个看似随机的数字127.我认为它是打印一些变量的值并检查我的怀疑,我定义了一个新的变量v = 4.运行echo $?再次给了我0作为输出.
我很困惑,因为我期待4是答案.
解决方法:
来自man bash:
$? Expands to the exit status of the most recently executed foreground pipeline.
回声$?将返回上一个命令的退出状态.你得到127这是最后执行的命令的退出状态退出时有一些错误(最有可能).成功完成的命令退出,退出状态为0(最有可能).最后一个命令给出了输出0,因为前一行上的echo $v没有错误.
如果执行命令
v=4
echo $v
echo $?
您将获得输出:
4 (from echo $v)
0 (from echo $?)
还试试:
true
echo $?
你会得到0.
false
echo $?
你会得到1.
true命令不执行任何操作,它只是以状态码0退出;并且false命令也什么都不做,它只是以状态代码退出,表示失败(即状态代码为1).