Lubuntu14.04を新しくインストールしています。 LXTerminalを使用していますが、これは.bashrcファイルを介して設定しているプロンプトです。
export PS1="\e[0;36m$ \w \e[m"
最大15文字の長さのコマンドを入力するとします(そして、履歴に登録されるように実行します)(「コマンドが見つかりません」を気にしないでください):
$ ~ 012345678901234
012345678901234: command not found
上矢印を押すと、コマンドが返されます。
$ ~ 012345678901234
そして、下矢印を押すと、裸のプロンプトに戻ります。
$ ~
問題実行する文字が16文字以上ある場合、問題が発生します。
$ ~ 0123456789012345
0123456789012345: command not found
上矢印を押すと、前のコマンドが表示されます。
$ ~ 0123456789012345
下矢印を押しても、裸のプロンプトに戻ることはありません。履歴の最初の16文字を超えるコマンドの10文字を何とか記憶し、他の何かが実行されるまで表示します。それは基本的に当分の間私のデフォルトのプロンプトになります。
$ ~ 0123456789
これで、Returnキーを押して削除するか、他のコマンドを実行できます。例として、これは次のとおりです。
$ ~ 0123456789ls
Desktop Documents Downloads Music Pictures Public Templates Videos
それを修正するにはどうすればよいですか?それほど大したことではありませんが、かなり面倒です。
カラーコードは\[
と\]
で囲む必要があります
PS1='\[\e[0;36m\]$ \w \[\e[m\]'
また、PS1はインタラクティブシェルにのみ関連するため、子プロセスにエクスポートする必要はありません。