6

正常に実行されなかった場合でも、終了ステータスが常に 0 を返すという奇妙な問題が発生しています。

次のコードを使用して、プロンプトに終了ステータスを出力したいと思います。

function status() {
    echo $?
}

export PS1="\$(status)>"

これを実行すると、次の出力が得られます

 0❯ pwd
/Users/tringuyen
 0❯ ad
bash: ad: command not found
 0❯ echo $?
127

明らかに、最後から 2 番目のコマンドadは 0 ステータス コードを返しませんでした。しかし、それは私がプロンプトから得たものです。

ここで何が起こっているのか知っている人はいますか?

EDIT 6/20 11:57AM:ファイル自体にエラーがあり$?、.0.bashrc0

4

3 に答える 3

0

$PS1 で以下を使用します。

 PS1="\`if [ \$? = 0 ]; then echo \[\e[33m\]^_^\[\e[0m\]; else echo \[\e[31m\]\$? O_O\[\e[0m\]; fi\`"

ソース: https://github.com/sanmiguel/dotfiles/blob/master/bash/bash_functions.symlink#L63

于 2013-09-13T16:22:41.813 に答える