我的shell提示中无法获得颜色(iTerm)

时间:2017-11-02 22:13:40

标签: bash macos shell terminal

我在Mac OS X上使用iTerm运行Bash,出于某种原因,我无法在提示中自定义颜色。我正在编辑我的.bashrc以及此处我现在所拥有的内容:

ls --color=always
export LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33'
PS1='\e[33;1m\u@\h: \e[31m\W\e[0m\$ '


export TERM=xterm-color
export GREP_OPTIONS='--color=auto' GREP_COLOR='1;32'
export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad

export COLOR_NC='\e[0m' # No Color
export COLOR_WHITE='\e[1;37m'
export COLOR_BLACK='\e[0;30m'
export COLOR_BLUE='\e[0;34m'
export COLOR_LIGHT_BLUE='\e[1;34m'
export COLOR_GREEN='\e[0;32m'
export COLOR_LIGHT_GREEN='\e[1;32m'
export COLOR_CYAN='\e[0;36m'
export COLOR_LIGHT_CYAN='\e[1;36m'
export COLOR_RED='\e[0;31m'
export COLOR_LIGHT_RED='\e[1;31m'
export COLOR_PURPLE='\e[0;35m'
export COLOR_LIGHT_PURPLE='\e[1;35m'
export COLOR_BROWN='\e[0;33m'
export COLOR_YELLOW='\e[1;33m'
export COLOR_GRAY='\e[0;30m'
export COLOR_LIGHT_GRAY='\e[0;37m'

理论上至少应该做一些事情。有没有人知道为什么我不能出现这些颜色(即使在退出和重新加载后)?

2 个答案:

答案 0 :(得分:1)

在OSX 10.11.x bash和终端中,例如使用PS1提示编码等访问的文件是.bash_profile,而不是.bashrc。这可能是iTerm问题的根源吗?

当我自定义提示时,我编辑的是.bash_profile。

但请注意 - user1934428

的评论
  

如果我没记错的话,你可以在iTerm中配置,执行什么shell,以及如何执行它,所以没有一般​​规则。由于交互式登录shell和交互式非登录shell之间存在差异,通常的做法是将所有在交互式shell中有意义的命令放入.bashrc或.bash_profile中,而不是放入单独的文件中,它来自.bashrc和.bash_profile。另一个选择是将它放入.bashrc并从.bash_profile中获取.bashrc。

您可能还想在PS1中的非打印字符周围放置一些反斜杠方形布,以避免在终端中包装不良,可能还有iTerm。见 https://stackoverflow.com/questions/11831296/os-x-terminal-text-stacking-on-top-of-itself.

答案 1 :(得分:-1)

您的终端可能从不同的文件加载其配置,可能是默认的.bashrc,我相信它在/ etc中。终端也可能根本没有使用.bashrc,而是使用.Xresources或.Xdefaults。