
我知道這很奇怪,但出乎意料的是,今天我將一個長命令複製到終端中,它沒有像預期的那樣自動換行,而是開始覆蓋同一行。該命令執行得很好,但它變得不可讀。通常,當發生類似情況時,您只需按幾次 Enter 鍵即可修復,但在這種情況下不行。我重新啟動了終端,甚至重新啟動,這是同樣的故事。
我可能認為這與我編輯 /etc/bash.bashrc 檔案以使用顏色等自訂提示有關,但我幾天前就這樣做了,但編輯後並沒有發生這種情況。我保存了一個備份以防萬一,所以如果有人認為可能是這樣,我已經包含了兩個檔案差異的輸出:
$ diff /etc/bash.bashrc /etc/bash.bashrc.bak
19c19
< PS1='\e[1;32m\u: \e[m\w\n\e[1;33m\$\e[m '
---
> PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
任何想法都有幫助,這是一個非常奇怪的問題。
答案1
嘗試使用這個PS1
:
PS1='\[\e[1;32m\]\u: \[\e[m\]\w\n\[\e[1;33m\]\$\[\e[m\] '
不同之處在於轉義序列 ( \e..
) 包含在 中\[ .. \]
,這有助於 Bash 更好地追蹤遊標。