エラーが返されると、Bash プロンプトに最後のコマンドの終了コードが表示されます。

エラーが返されると、Bash プロンプトに最後のコマンドの終了コードが表示されます。

最後のコマンドの戻り値をPS1.bashrc

今、値がゼロでない場合にのみ表示したいと思います。

Androidシェルは次のとおりです。

${| local e=$? (( e )) && REPLY+="$e|" return $e }

質問:bashに変換する方法は?

ベストアンサー1

PS1='${?#0}$ '

特別な形を使用します。パラメータ拡張、、、${?#0}は、「文字0が${?}前のコマンド終了コードの最初の文字である場合は、その文字を削除します」を意味します。

最後の終了コードがゼロでない場合は、プロンプトの色を変更することもできます。

PS1='\[\e[0;$(($?==0?0:91))m\]$ \[\e[0m\]'

早く

これはif-else三項表現 $(($?==0?0:91))これはカラーコード0;91m(赤、参照)になります。カラーコード)最後のコマンドがゼロ以外の値で終了した場合、そうでない場合0;0m(デフォルトの色)。

おすすめ記事