bash退出状态始终为0

Tri*_*yen 6 bash command-prompt

我遇到了这个奇怪的问题,即使它没有成功执行,我的退出状态总是返回0.

我想使用以下代码在我的提示符上输出退出状态:

function status() {
    echo $?
}

export PS1="\$(status)>"
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到以下输出

 0? pwd
/Users/tringuyen
 0? ad
bash: ad: command not found
 0? echo $?
127
Run Code Online (Sandbox Code Playgroud)

显然,倒数第二个命令ad没有返回0状态代码.然而,这就是我从提示中得到的.

有谁知道这里会发生什么?

编辑6/20上午11:57:问题似乎$?总是0无论如何,除了.bashrc文件本身内有错误,这将导致它返回一个不同的值0.

Mor*_*aki 1

以下内容适用于您的 bash 版本吗?

export PS1="\$?>"
Run Code Online (Sandbox Code Playgroud)