繁体   English   中英

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

[英]I can't get colors in my shell prompt (iTerm)

我在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'

从理论上讲,至少应该做一些事情。 有谁知道为什么我无法显示这些颜色(即使在退出并重新加载后)?

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

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

但是请注意–user1934428的评论

如果我没记错的话,您可以在iTerm中配置执行什么外壳程序以及如何执行它,因此没有通用规则。 由于交互式登录外壳程序和交互式非登录外壳程序有所不同,因此通常的做法是将所有有意义的命令仅放在交互式外壳程序中,而不是放入.bashrc或.bash_profile中,而应放入单独的文件中,它来自.bashrc和.bash_profile。 另一种选择是将其放入.bashrc中,并从.bash_profile中获取.bashrc。

您可能还希望在PS1的非打印字符周围放置一些反斜杠方括号,以避免在Terminal和iTerm中包装不佳。 请参阅https://stackoverflow.com/questions/11831296/os-x-terminal-text-stacking-on-top-of-itself。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM