bashrcで直前のexit statusが正常終了・異常終了に応じてプロンプトの表示を切り替えさせる
Pocket

個人的にはローカルではzshを使っているのだけど、ローカルのbashrcファイルをリモートでファイルを配置せずに利用する方法を知ってリモートサーバ用のbashrcを設定するようになった。
で、zshでやっているようにプロンプトに顔文字と直前のコマンドの成功・失敗に応じて切り替えを行わせるようにしたので、(わざわざ残しとくほどのものでもなさそうだけど)一応その内容を備忘として残しておく。

直前のコマンドの終了ステータスを取得する場合、PROMPT_COMMANDを使って取得させる必要がある。
なので、以下のような設定を.bashrcに書いてやるといいだろう。

Sponsored Links

# カラーコードをexport
export COLOR_RED=$'\E[0;31m'
export COLOR_GREEN=$'\E[0;32m'

function __command_prompt() {
    # 前のコマンドの終了コードを取得
    local EXIT="$?"

    # 前のコマンドの終了コードに応じてプロンプトの種類を変更
    if [ $EXIT -eq 0 ];then
        export PS1='\[${COLOR_GREEN}\](`・ω・´)\[${COLOR_NONE}\] '
    else
        export PS1='\[${COLOR_RED}\](´ ;ω;\`)\[${COLOR_NONE}\] '
    fi
}

PROMPT_COMMAND=__command_prompt

 

個人的に使っている設定はこちらにおいてあるので、必要であれば参考にしてもらえればと。
個人的な好みで今は2段のプロンプトにしている。

 

Pocket

Written by blacknon

インフラエンジニア(…のつもり)。 仕事で使うならクライアントはWindowsよりはUNIXの方が好き。 大体いつも眠い。

Leave a Comment

メールアドレスが公開されることはありません。

*