用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道的一部分。
虽然,我不知道如何使用它。