質問
Linuxから使用されて、シェルに色付きのプロンプトがあり、OS X Terminal.Appにそれを実装したいと考えています。ただし、端子は異なる反応を示します。通常のPS1コードを使用すると、任意のラインの右側が奇妙なポイントで削減されます(確かに端子ウィンドウの右端ではありません)。また、次の行は次の行ではなく、同じ行に表示されません。
予想される反応:
erik2:~[06:46 am]$ expectedexpectedexpectedexpectedexpectedexpectedexpect
edexpected_
本当の反応:
ectedexpected_am]$ expectedexpectedexpectedexpectedexp
ターミナルは普通ですか?代替手段はありますか?何か間違ったコードをコーディングしましたか?私のPS1コードをご覧ください:
export PS1="\033[0;34m\u:\W\e[0;32m[\@]\e[m\033[0;34m$\033[m "
解決
あなたはそれらを取り囲むことによって、プロンプトの非印刷部分から逃げる必要があります \[…\]
.
export PS1="\[\033[0;34m\]\u:\W\[\e[0;32m\][\@]\[\e[m\033[0;34m$\033[m\] "
それ以外の場合、readlineはコマンドラインの残りのスペースについて混乱します。
所属していません apple.stackexchange