
我正在安裝全新的 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 相關,您不需要將其匯出到子進程。