![Bash 提示中的特殊字符不起作用(彩色用户名)](https://linux22.com/image/554154/Bash%20%E6%8F%90%E7%A4%BA%E4%B8%AD%E7%9A%84%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%EF%BC%88%E5%BD%A9%E8%89%B2%E7%94%A8%E6%88%B7%E5%90%8D%EF%BC%89.png)
我在用:
red=$(tput setaf 1)
green=$(tput setaf 2)
blue=$(tput setaf 4)
reset=$(tput sgr0)
export PS1="\[$red\]\u\[$reset\]@\[$green\]\h\[$reset\]:\[$blue\]\w\[$reset\]\$ "
export EDITOR=nano
显示的内容如下:[]\u[]@[]\h[]:[]\w[]$
我该如何修复这个问题?似乎 bash 无法解释特殊字符。
答案1
解决方案:
用户使用的是 /bin/sh 而不是 /bin/bash
改变这一点解决了我遇到的所有问题。
答案2
事实上,在您的示例输出中,shell 提示符仍然有方括号和转义符,这表明您在本地引用时有些问题,但您在问题中粘贴的内容做使用 bash 4.1.5(1)-release 进行简单的剪切粘贴即可。