不知道从哪天起,使用xshell的终端主机名和用户名没有了颜色:
ls变色了,而命令行开始的ma@Y485
这一段是白色,和其他部分一样颜色不太显眼。
解决方法:
在~/.bashrc
中其实有了颜色的设置,查看代码可以发现:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
ma@Y485:~$ sed -n '38,65p' .bashrc # set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color|*-256color) color_prompt=yes;; esac # uncomment for a colored prompt, if the terminal has the capability; turned # off by default to not distract the user: the focus in a terminal window # should be on the output of commands, not on the prompt # force_color_prompt=yes if [ -n "$force_color_prompt" ]; then if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then # We have color support; assume it's compliant with Ecma-48 # (ISO/IEC-6429). (Lack of such support is extremely rare, and such # a case would tend to support setf rather than setaf.) color_prompt=yes else color_prompt= fi fi if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' fi unset color_prompt force_color_prompt |
最下面有一个PS1
的赋值,它就是控制颜色的设置,当终端是某种类型或者满足某些特定条件的时候,它就会显示颜色。
这里可以看到有个force_color_prompt
变量默认被注释了,而如果这个变量的值为yes
的时候,下面的color_prompt
就也会是yes
,然后的颜色设置也就会开启。
所以可以手动把这个注释去掉,使force_color_prompt
的值等于yes
,然后source ~/.bashrc
就能看到效果了:
评论