![我的 Bash 提示符中有奇怪的字符?](https://linux22.com/image/2128/%E6%88%91%E7%9A%84%20Bash%20%E6%8F%90%E7%A4%BA%E7%AC%A6%E4%B8%AD%E6%9C%89%E5%A5%87%E6%80%AA%E7%9A%84%E5%AD%97%E7%AC%A6%EF%BC%9F.png)
我对 Bash 提示有点陌生,但我终于能够让事情有点工作了。但是,我的提示符开头有一个奇怪的字符:
这是我的实际PS1
提示:
PS1='\[\e]2;\u@\h\a${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] '
有人能发现问题吗?我在这里做错了什么?
答案1
您错过了最后一个\]
结束标题栏序列的情况。结果是它吃掉了一些字符并在前面显示了一个奇怪的字符。
尝试其中之一:
\[\033]2; \u@\h \007\]
\[\e]0;\u@\h\a\]
答案2
提示符的开头有一个片段:\[\e]2;\
可能应该更像是:\[e[0;32m\]
设置颜色绿色。
\[
开始非打印字符序列。\e
是 ascii 转义字符,绿色是0;32m
Arch Wiki 上对彩色提示的元素进行了很好的分解:https://wiki.archlinux.org/index.php/Color_Bash_Prompt