最後のコマンドの戻り値を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
(デフォルトの色)。