質問

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はコマンドラインの残りのスペースについて混乱します。

ライセンス: CC-BY-SA帰属
所属していません apple.stackexchange
scroll top