現在、関数を呼び出して最後のコマンド実行のリターン コードを出力するプロンプトが bash にあります (ゼロでない場合)。
exit_code_prompt()
{
local exit_code=$?
if [ $exit_code -ne 0 ]
then
tput setaf 1
printf "%s" $exit_code
tput sgr0
fi
}
PS1='$(exit_code_prompt)\$ '
$?
これは、別のコマンドが実行されない限りリセットされないことを除いて、かなりうまく機能します。
$ echo "works"
works
$ command_not_found
bash: command_not_found: command not found
127$
127$
127$
127$ echo "works"
works
$
プロンプトで値を繰り返し続けないよう$?
に、親シェルの値を初めて実行するときにリセット/設定解除することは可能ですか?exit_code_prompt()
どうもありがとう、スティーブ。