参见英文答案 > 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).

标签: linux, echo, command-line

相关文章推荐

添加新评论,含*的栏目为必填