![如何在 Bash 脚本中访问 Solarized 颜色值](https://linux22.com/image/1460042/%E5%A6%82%E4%BD%95%E5%9C%A8%20Bash%20%E8%84%9A%E6%9C%AC%E4%B8%AD%E8%AE%BF%E9%97%AE%20Solarized%20%E9%A2%9C%E8%89%B2%E5%80%BC.png)
我正在尝试bash
PS1
根据日晒主题。 我有晒干安装并运行iTerm2
,但迄今为止未能创建与主题相匹配的自定义 PS1 提示。
我曾尝试使用如下值来表示青色,但最终得到的不是无颜色就是错误的颜色。
\033[0;37m
我从以下链接获得了上述值。 https://github.com/altercation/solarized/tree/master/iterm2-colors-solarized
答案1
如果你问的是ANSI 转义序列,这里有一些提示:
0 Black
1 Red
2 Green
3 Yellow/Brown
4 Blue
5 Pink
6 Cyan
7 White/Gray
它们每个都应用于前景色或背景色。
3_ sets grim foreground color
9_ sets intense foreground color
4_ sets grim background color
10_ sets intense background color
# 3-4, 9-10 and a code for a color.
例如,通过这样做,printf "\033[1;44;97m"
您可以使背景44
(暗蓝色)变成前景97
(深白色)。
您还应该使用其他有用的颜色代码:
0 reset all colors
1 bold
3 italics
4 underline
5 blink
7 inverse
为了使使用起来更舒适,您可以创建一组别名,例如fiblue
fred
bblack
等。您还可以将以下函数添加到您的bashrc
:
ansi() {
printf "\033[$1"
}
因此,\033[1;35m
您不必手动编写ansi '1;35m'
,而且使用该函数编写颜色别名会更舒服。
您还应该注意,设置背景颜色会重置已经设置的前景色,因此您应该使用\033[
misc;background;foreground
m
。
这样,你就可以随意绘画了PS1
。以下是示例:
PS1="\033[0;1;36m\u\033[0;1m:\033[1;103;30m\t\033[0m \033[1;92m\$\033[0m \r"
另请参阅bash_it。
希望我回答了您的问题。