我想在终端橙色中创建主机名。我该怎么做?
答案 0 :(得分:27)
在终端中运行以下代码应该告诉您终端是否支持256色。
for COLOR in {0..255}
do
for STYLE in "38;5"
do
TAG="\033[${STYLE};${COLOR}m"
STR="${STYLE};${COLOR}"
echo -ne "${TAG}${STR}${NONE} "
done
echo
done
它还会显示38;5;x
形式中每种颜色的代码,其中x
是256种可用颜色之一的代码。
另请注意,将"38;5"
更改为"48;5"
会显示等效的背景颜色。然后,您可以使用您喜欢的任何颜色来组成提示,如前所述。
答案 1 :(得分:14)
首先,我不确定你使用的是什么终端,或者它是否支持橙色。我支持以下内容:红色,蓝色,绿色,青色,黄色,洋红色,黑色和黑色。白色。以下是我在终端中获取颜色的方法:
您需要先使用autoload
加载颜色。我使用以下内容加载颜色并将它们分配给有意义的名称
#load colors
autoload colors && colors
for COLOR in RED GREEN YELLOW BLUE MAGENTA CYAN BLACK WHITE; do
eval $COLOR='%{$fg_no_bold[${(L)COLOR}]%}' #wrap colours between %{ %} to avoid weird gaps in autocomplete
eval BOLD_$COLOR='%{$fg_bold[${(L)COLOR}]%}'
done
eval RESET='%{$reset_color%}'
您可以使用%m
字符串在提示中设置主机名。所以要设置一个红色主机名,你要做
${RED}%m${WHITE}\>
会打印bneil.so>
答案 2 :(得分:5)
如果您熟悉自定义zsh提示符的想法,但是您的问题并不清楚,但是在使用颜色代码方面遇到了问题。
互联网上有很多信息。这是两个链接:
它们应该包括自定义提示和使用颜色代码来指定颜色。
答案 3 :(得分:3)
打印
<ESC>[33mHostname<ESC>[0m
成为转义字符\ x1b