輸入時終端不返回

輸入時終端不返回

我知道這很奇怪,但出乎意料的是,今天我將一個長命令複製到終端中,它沒有像預期的那樣自動換行,而是開始覆蓋同一行。該命令執行得很好,但它變得不可讀。通常,當發生類似情況時,您只需按幾次 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 更好地追蹤遊標。

相關內容