在bash中回显彩色文本,对所有其他回声使用相同的颜色

时间:2018-02-09 18:50:36

标签: bash colors

我希望我的bash脚本中的一个输出行的颜色不同,所以我使用了以下命令:

echo -e "\e[38;5;11m Test"

以黄色文字打印出Test。在那之后,我运行这个:

echo "No changes made... exiting"

这里没有指定颜色的东西,但它仍然以黄色打印出来。

使用echo一次设置输出文字的颜色时,是否为所有其他echo设置了全局文字颜色?如果是这样意味着每次我想输出文本以便覆盖它时我必须指定文本颜色吗?

1 个答案:

答案 0 :(得分:3)

正如您猜测的那样,无论何时在控制台中设置颜色,它都会一直存在,直到更改或重置为止。您可以使用以下代码重置为普通文本颜色:

\e[m

换句话说:

# appears yellow
echo -e "\e[38;5;11m Test\e[m"

# appears normal
echo "No changes made... exiting"