lxterminal提示不需要的字符

lxterminal提示不需要的字符

我正在安裝全新的 Lubuntu 14.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

我現在可以按回車鍵來擺脫它,或者我可以運行任何其他命令。舉個例子:

$ ~ 0123456789ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

我能做什麼來修復它?這沒什麼大不了的,但很煩人。

答案1

您需要將顏色代碼包裝在\[和中\]

PS1='\[\e[0;36m\]$ \w \[\e[m\]'

另外,PS1 僅與您的互動式 shell 相關,您不需要將其匯出到子進程。

相關內容