怎么把" bash颜色"变量

时间:2014-11-19 18:45:40

标签: bash

输出:

echo -e "\e[31mHello World\e[0m"

Hello World (red color)

所以我想把\e[31m放到变量:

REDCOLOR="\e[31m"

并将其用作:

echo -e "$REDCOLORusing red color"

3 个答案:

答案 0 :(得分:2)

请改用${REDCOLOR}。在你写的时候,bash也试着看看名为REDCOLORusing的变量而不是REDCOLOR

答案 1 :(得分:2)

正确的做法是使用tput来查询系统的相应转义序列:

red=$(tput setaf 1)
green=$(tput setaf 2)

这将返回要发送到终端的文字转义序列,而不是描述它们的反斜杠转义序列。此后,您可以使用(没有-e参数):

echo "${red}using red${green}using green"

请参阅BashFAQ #37

答案 2 :(得分:0)

red=`tput setaf 1`
green=`tput setaf 2`
reset=`tput sgr0`
echo "${red}red text ${green}green text${reset}"