我想修改提示的某些部分的颜色,我希望它显示我的用户名在Cyan中的颜色,我搜索它与\ u匹配然后我想显示我的主机名的颜色在紫色中与\ h匹配,以便在我键入时实现此目的:
echo $PS1
我明白了:
[\u@\h \W]\$
然后我尝试了:
export PS1="\e[0;36m\e[0;35m[\u@\h \W]\$ \e[m "
但我失败了,因为它只是为紫色的一切颜色, 我想知道如何实现为什么不着色主机名,颜色的列表如下:
Color Code
Black 0;30
Blue 0;34
Green 0;32
Cyan 0;36
Red 0;31
Purple 0;35
Brown 0;33
Blue 0;34
Green 0;32
Cyan 0;36
Red 0;31
Purple 0;35
Brown 0;33
答案 0 :(得分:1)
尝试:
export PS1="[\e[0;36m\u@\e[0;35m\h \e[0;30m\W]\$"
这应该是青色的用户名和紫色的主机名和黑色之后。
答案 1 :(得分:1)
逃离必须在$ PS1内的\[
和\]
之间。否则他们将逐字打印。
export PS1='\[\e[0;36m\e[0;35m[\]\u@\h \W]\$ \[\e[0m\] '
结尾处的\[\e[0m\]
表示"重置为默认颜色。"
另外,您可能需要考虑单引号字符串,因为在其中\
始终表示\
;这样可以更轻松地查看您正在做的事情。
答案 2 :(得分:1)
通过\e[0m
重置每个颜色变化。
在提示的不可见部分周围使用\[...\]
,否则历史导航会对行长度感到困惑:
PS1="[\[\e[0;35m\]\u\[\e[0m\]@\[\e[0;36m\]\h\[\e[0m\] \W]\$ "