根据终端背景颜色更改echo命令中的字体颜色

时间:2014-09-07 00:35:33

标签: linux string bash echo terminal-emulator

我正在写一个bash脚本。我想通过echo命令将彩色字符串打印到终端,并根据终端的背景颜色更改字符串的颜色。

我目前只是打印白色字符串,如下所示:echo -e "$(tput setaf 7)my string here"

如果终端背景颜色也是白色,有没有办法以不同的颜色打印字符串?我不想自己设置背景颜色以确保我的字符串可见。

提前致谢!

1 个答案:

答案 0 :(得分:1)

据我所知,无法获取终端的背景颜色。就像John B在评论中所说,这也取决于你正在使用的终端。

如果要强制使用特定的背景颜色,可以使用此命令tput setab #,其中#是0到7之间的数字。然后,您可以使用参数{{1}将背景颜色重置为原始颜色像这样:op

此链接也可能有所帮助(有关颜色处理的颜色和更多文档):http://linux.about.com/library/cmd/blcmdl5_terminfo.htm