多くの異なるマシンにインストールするカスタム bash 構成があり、これにはスクリプトによって生成されたカスタム $PS1 が含まれており、最終的には次のようになります。
\[\e[0;33m\][\!] $(if [[ $? == 0 ]]; then echo "\[\e[0;32m\]✓"; else echo "\[\e[0;31m\]✗"; fi) \[\e[1;33m\]\u\[\e[1;36m\]@\h \[\e[1;32m\]\w \[\e[1;32m\]\$\[\e[00m\]
これは少し醜いですが、問題は ✓ と ✗ 文字によってのみ引き起こされているようです。実際、それらを o と n に置き換えると問題が解決し、
PS1='✓'
まだ苦しんでいます。
問題は、端末の制限に達するのに十分な長さのコマンドを入力すると、次の行に進むのではなく、プロンプトとコマンドの先頭が重なってしまうことです。面白いのは、最初だけ重なった場合、通常は次の行に続くことです。
これが発生するマシンは、xl ツールスタックを使用して、Xen4.4 を実行する Debian 8 ハイパーバイザーで作成された、真新しい Debian 8 Jessie 仮想マシンです。他にもいくつかの同一の VM を作成しましたが、同じ結果が得られました。ただし、私が試した物理的な Debian マシン (私の Dom0 を含む) では、この問題は発生しませんでした。Ubuntu15.04 VM も試してみましたが、問題はありません。
また、この問題は ssh 接続とシリアル コンソールの両方で発生することにも気付きました。
何が起こっているのか誰にもわかりませんか?