Bash 提示中的特殊字符不起作用(彩色用户名)

Bash 提示中的特殊字符不起作用(彩色用户名)

我在用:

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 进行简单的剪切粘贴即可。

相关内容