PS1を正しくカスタマイズする方法は?

PS1を正しくカスタマイズする方法は?

bashrcでこれでbashをカスタマイズしました。

export PS1="\e[0;36m\h\e[m \e[0;33m\w/\e[m \e[0;31m\n\$ →\e[m  "

だから私は次のようなものを得ます(色を含む)。

Ahuri ~/Public/ 
$ →  

しかし、長いコマンドには問題があります。 1行より長い非常に長いコマンドを書くと、最初の行が上書きされ始めます。

例:

Ahuri ~/Public/ 
$ → ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

「^」を引き続き追加すると、次のような結果が得られます。

Ahuri ~/Public/ 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

私の「$→」を上書きし、行全体を上書きします。

ベストアンサー1

大丈夫です\n。これは再び古いエスケープシーケンス長の問題です。\e[0m同様の内容はプロンプトの実際の長さには含まれていないため、インタプリタに指摘するには\[..で囲む必要があります。\]

PS1="\[\e[0;36m\]\h\[\e[m\] \[\e[0;33m\]\w/\[\e[m\]\n \[\e[0;31m\]\$ →\[\e[m\]  "

おすすめ記事