ターミナル(Mac OS X 10.5.8)を開いて長いコマンドラインを入力すると、次のようになります。
...テキストは折り返されても次の行に行きません:
また、コマンドを入力してからバックスペース(または上矢印または^ U)を実行すると、
...行全体が消去されず、特定のポイントを超えてバックスペースすることはできません。
これは既知のbashバグですか(Mac OS X)?修正はありますか?
Update:Juliano は正しかった、問題は私のPS1変数でコンソールコードシーケンスを誤って区切ることによって引き起こされました。変化:
export PS1='\[\033[1;34m\]\$\]\033[0m\] '
...私の.bashrc
から:
export PS1='\[\033[1;34m\]\$\[\033[0m\] '
...問題を解決しました。
動作は、プロンプトにコンソールコードがあり(色を変更するなど)、適切にマークされていないため、bashはそれらが非表示であることを認識します。
何よりもまず、これを行います。
PS1='\w\$ '
そして、もう一度やり直してください。問題が解決した場合、私の疑いは正しいです。
各コンソールコードシーケンスは、PS1変数の\[
および\]
で区切る必要があります。彼らはbashにそこにあるものは何でもカーソル位置を動かさないことを伝えます。詳細については、bashのマニュアルを参照してください。
サニタイズされたプロンプトの生成を支援するために、 http://www.kirsle.net/wizards/ps1.html を試してみてください。プロンプトの角括弧に注意してください。角括弧か何かをエスケープしようとします。