プロンプトエラーコード

プロンプトエラーコード

!現在正しいプロンプトがあります。次のように:

export RPS1="%B%F{red}!%f%b"

私が使うときそして、コマンド履歴は(残念ながら)ウィンドウ全体で同期されません。この数字は私にとってほとんど役に立たない。

RPS1設定?して$?表示しようとしています戻りコード/エラーレベル成功せずにコマンドを受け取りました。

次のように設定しなければならなかったことが記憶されます。

setopt promptbang

!補間(解釈、拡張)を実行します。

前のコマンドの結果がエラー番号であることを示すプロンプトをコマンドラインの右側に実装する方法。

ここに画像の説明を入力してください。

現在のプロンプトのサンプルスクリーンショットには>、、as 、およびが含まれています。>>!$PS1$PS2$RPS1

ベストアンサー1

前のコマンドの戻り状態を表示するには、次のものを使用できます。早く脱出 %?

RPS1='%B%F{red}%?%f%b'

終了状態に応じて色を切り替えることもできます。

RPS1='%B%(?.%F{green}.%F{red})%?%f%b'

あるいは、コマンドがエラーを返した場合は何も表示されません。

RPS1='%(?..%?)'

%?計算結果がある場合、出力は緑色で0、そうでなければ赤色です。


任意のパラメータ(たとえば)を置き換えるには、$?このオプションを有効にする必要がありますPROMPT_SUBST

setopt promptsubst

この場合、宣言時にパラメータが変更されるのを防ぐために、パラメータを完全に引用する必要があります。たとえば、一重引用符を使用するか、$内部\二重引用符を使用して引用します。

RPS1='$?'
RPS1="\$?'

注:RPS1これを行うには、エクスポート(または他のシェル構成パラメータ)は必要ありません。

おすすめ記事