ターミナルプロンプトで色分けされたコマンド

ターミナルプロンプトで色分けされたコマンド

私は Mac ターミナルのプロンプトを次のようにカスタマイズしました。

export PS1="\[\e[31;1m\] \w $ \[\e[0m\] "

この方法では、太字の赤色で表示されます/working/directory $が、実行するコマンドも太字の赤色で表示されます。ただし、コマンドの出力はデフォルトの色にする必要があります。

基本的に私が欲しいのはこれです:

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

何か助けていただけますか?


編集:コードを試してみたこの答えしかし、少なくとも私の場合は機能していません。コマンドが太字になりますが、コマンド出力も太字になります。実際、コマンド出力の後に余分な ${OFF} タグが印刷され、上キーを押して以前に実行されたコマンドを確認すると、奇妙な動作になります...

答え1

やり方は次のとおりです:

export PS1="\[\e[31;1m\] \w $ "   
trap 'echo -ne "\e[0m" ' DEBUG

すべての魔法はここから生まれるコマンド入力と出力の間のエスケープ

関連情報