Linux

更改文件名文本的顏色

  • April 19, 2012

我正在編寫腳本來初始化和配置一個包含許多組件的大型系統。

每個組件都有自己的日誌文件。

每當其安裝/配置發生錯誤時,我想將組件文件名的顏色更改為紅色。

我該怎麼做?

Google會為您找到答案。用紅色列印 Hello world:

echo -e "\033[0;31mHello world\033[0m"

解釋

<esc><attr>;<foreground>m

<esc>        = \033[  ANSI escape sequence, some environments will allow \e[ instead
<attr>       = 0      Normal text - bold possible with 1;
<foreground> = 31     30 + 1 = Color red - obviously!
m            = End of sequence

\033[0m       Reset colors (otherwise following lines will be red too)

查看http://en.wikipedia.org/wiki/ANSI_escape_code以獲取顏色和其他功能(粗體等)的完整列表。

命令 tput(如果可用)將使生活更輕鬆:

echo -e "$(tput setaf 1)Hello world$(tput sgr0)"

甚至可以將序列保存在 vars 中以便於使用。

ERR_OPEN=$(tput setaf 1)
ERR_CLOSE=$(tput sgr0)
echo -e "${ERR_OPEN}Hello world${ERR_CLOSE}"

引用自:https://unix.stackexchange.com/questions/36861