Bash
瀏覽歷史記錄時 Bash 提示出現亂碼?
我有 MacOS 和
.bash_profile
內容:
export PS1="\[\e[0;31m$\]\[\e[m\] \[\e[0;32m\w\e[m\] : \]"
結果,我在終端中列印了 pwd,如下所示:
但是當我按向上和向下箭頭使用終端歷史記錄時,我遇到了錯誤:
- 無需導出 PS1:它是 shell 的變數,其他程序不會使用它。
- 看起來你沒有正確的轉義括號。它們用於圍繞非列印序列,因此 bash 可以準確地計算出提示的寬度。試試這個:
PS1="\[\e[0;31m\]\$ \[\e[0;32m\]\w\[\e[0m\] : " # 1.........1 2.........2 3......3
所以列印位(
\$
,\w
,冒號和空格)在括號之外。進一步參考:https ://www.gnu.org/software/bash/manual/bashref.html#Controlling-the-Prompt