27

我想在我的终端中将我的主机名设为橙色。我怎么做?

4

3 回答 3

41

在您的终端中运行以下代码应该会告诉您您的终端是否支持 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其中x256 种可用颜色之一的代码。另外,请注意,将 更改"38;5""48;5"将显示等效的背景颜色。然后,您可以使用您喜欢的任何颜色来组成前面提到的提示。

于 2013-05-27T10:54:58.393 回答
22

首先,我不确定您使用的是什么终端,或者它是否支持橙色。我的支持以下:红色、蓝色、绿色、青色、黄色、洋红色、黑色和白色。以下是我在终端中获取颜色的方法:


您需要首先使用加载颜色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>

于 2011-05-28T05:38:27.530 回答
5

打印

<ESC>[33mHostname<ESC>[0m

作为转义字符 \x1b

于 2011-05-28T05:37:20.783 回答