2017-02-21 7 views
0

新しいlinuxユーザーがここにあります。文字を入力した後でのみバックスペース消去bashプロンプト

マイbashプロンプトが次のようになります。

export PS1=$"\[\e[1;32m\d \t \e[1;33mฅ^\e[m\e[1;36mᵒ\e[m\e[1;33mﻌ\e[m\e[1;36mᵒ\e[m\e[1;33m^ฅ \e[1;35m\W\e[1;32m$\]" 

(それはキティฅ^ᵒﻌᵒ^ฅです)

今、私は文字列の末尾に]を追加したこと、それはもはや私のbashプロンプトを削除しませんプロンプトが空の場合は文字を入力します。ただし、コマンドを入力してからバックスペースを押すと、bashプロンプトが削除されます。

これを防ぐ方法はありますか、これはちょうどbashなのでしょうか?

ありがとうございます!

答えて

2

\[...\]は、含まれている部分がプロンプト内のスペースを占めていないことを示します。したがって、プロンプトテキスト(\d\tなど)ではなく、xterm制御シーケンス(\e[1;32mなど)に使用されます。あなたの全体のプロンプトはその後、bashがあなたのプロンプトがまったくスペースを取らず、タイピングは、行の先頭から始まると考えて、\[...\]に包まれている場合は

PS1='\[\e[1;32m\]\d \t\[\e[1;33m\]ฅ^\[\e[m\e[1;36m\]ᵒ\[\e[m\e[1;33m\]ﻌ\[\e[m\e[1;36m\]ᵒ\[\e[m\e[1;33m\]^ฅ\[\e[1;35m\]\W\[\e[1;32m$\]' 

:ような何かを試してみてください。

(あなたが道で、PS1をエクスポートする必要はありません。)

+2

ベターこれは美しく働い –

+0

1鉱山より説明。それをクリアしてくれてありがとう! – spacedSparking

関連する問題