可能是重复问题:
使用Unix命令“watch”显示颜色?
在我的一个程序中,我想要使用彩色文本作为输出,因此我正在使用ANSI转义序列来实现,例如:
echo -e '\033[34mHello World\033[0m'
它会以蓝色打印出“Hello World”(实际上是使用“print”的Python程序,但对于这个问题并不重要)。
现在我想使用bash程序“watch”重复执行该程序。但是当我使用“watch”执行与上面相同的命令时,即
watch echo -e '\033[34mHello World\033[0m'
文本不是蓝色的,输出变成了“-e 033[34mHello World033[0m”。因此,ANSI转义序列没有被解码。
有没有办法让程序“观察”这些转义序列,或者有没有类似于“watch”的替代方案来达到相同的效果?
如果它只在Linux上工作也没关系,因为我只使用它。
更新: 所以一个解决方案是安装一个更新版本的“watch”,该版本支持--color选项。但还有其他方法吗,也许有一个类似于“watch”的程序?(我不是那台机器的管理员。)
watch
不是bash
shell内置命令,而是/usr/bin/watch
可执行程序。 - Basile Starynkevitch