bashのヒント - 長いコマンドは色を追加した後に同じ行に戻ります。

bashのヒント - 長いコマンドは色を追加した後に同じ行に戻ります。

注:私はPuttyを使用しており、TERMはXTERMに設定されています。

Bashプロンプトに色を追加しました。

PS1="\[\033[0;32m\]\d \t \u\e[1;33m@\H /\W $ \[\033[1;37m\]"

PS1の英語を簡素化するために -

${GREEN}\d \t \u{YELLOW}@\H \W $ {reset-color}

コマンドが長くて画面行に収まらないたびに次の行に移動する必要がありますが、そうではなく、私が入力した各文字の最初の文字が変わり始めます。完全なコマンドが存在しますが、完全には表示されません。性能が大丈夫で歪みが見えるだけです。

最初に戻って文字を削除しようとすると、状態がどんどん激しくなり、コマンドライン全体が上になり、画面上の前のデータが消去されます。

いくつかの部品を取り除く試行錯誤の最後にaを追加すると、上記@の動作が発生することがわかりました。

\e[1;33m

これをなぜ入れたのかはよく覚えておらず、追跡することもできません。

この問題を解決するのに役立ちますか?長いコマンドは、同じ行ではなく次の行に配置する必要があります。

ベストアンサー1

「@」記号の前のANSIエスケープシーケンスは\[合計に含まれません\]。これを添付すれば大丈夫でしょう。

PS1='\[\033[0;32m\]\d \t \u\[\e[1;33m\]@\H /\W $ \[\033[1;37m\]'

ちなみに、「カラーリセット」と呼ぶのは、単に白に設定することです。実際にリセットするにはを使用します\033[0m

おすすめ記事