用unix命令“看”的颜色?

我使用的一些命令显示颜色,但是当我使用它们时,颜色消失:

watch -n 1 node file.js 

有没有可能让颜色回来?

watch一些新版本现在支持颜色。

例如, watch --color ls -ahl --color

相关 。

手表与颜色输出一起工作。 它是procps软件包的一部分(至less在debian中)这里是bugreport为你的问题http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=129334他们回答,你应该更新procps包;

例如用Ubuntu 11.04这个软件包工作http://packages.debian.org/wheezy/procps

TL;博士

更新procps

您可以在几行shell脚本中复制watch的基本,简单操作。

 $ cat cheapwatch #!/bin/sh # Not quite your Rolex while true ; do clear printf "[%s] Output of %s:\n" "$(date)" "$*" # "$@" <- we don't want to do it this way, just this: ${SHELL-/bin/sh} -c "$*" sleep 1 # genuine Quartz movement done $ ./cheapwatch ls --color # no problem 

最后,一个非常聪明的人会把一个tr命令插入这个脚本中去除控制字符,然后强制用户使用--color禁用这个逻辑。 就目前而言,这种实现的纯粹天真是让色彩怪物远离。

如果您的watch没有“ – --color选项,而且无论什么原因都无法升级软件包,那么也许可以将其放入。

不要使用watch …当你使用手表程序可以检测到他们没有写入terminal,然后去掉颜色。 您必须使用特定的程序标志来保存控制代码。

如果你不知道这些旗帜,或者你不能通过以下方式让一个穷人看:

 while sleep <time>; do clear; <command>; done 

它会有一些闪烁(手表作品“双缓冲”),但对于一些东西它是有用的。

你可能会试图制作一个双缓冲的穷人的手表使用

 while sleep <time>; do <command> > /tmp/file; clear; cat /tmp/file; done 

但是,那么你会再次击中“我不写入terminal”function。

从手表手册:

非打印字符从程序输出中剥离。 如果您想查看它们,请使用“cat -v”作为命令pipe道的一部分。

虽然,我不知道如何使用它。