如何使用 echo 命令输出颜色的转义序列

use*_*709 3 bash

domain="www.google.com"
echo -e "\e[1;34m"$domain"\e[0m"
Run Code Online (Sandbox Code Playgroud)

我希望这会www.google.com以绿色字母输出。

相反,我得到了

-e \e[1;34mwww.google.com\e[0m

l'L*_*L'l 5

根据使用的环境或 shell 可能会产生影响,您可能会做的一件事是使用ANSI-C引用:

echo $'\e[1;34m'${domain}$'\e[0m'
Run Code Online (Sandbox Code Playgroud)

$'string' 形式的词被特殊处理。单词扩展为字符串,并按照 ANSI C 标准的规定替换反斜杠转义字符。

https://www.gnu.org/software/bash/manual/html_node/ANSI_002dC-Quoting.html