Возможный дубликат:
Цвета с командой unix "watch"?< /а>
В одной из моих программ я хочу использовать цветной текст в качестве вывода, поэтому я использую для этого escape-последовательности ANSI, например. так:
echo -e '\033[34mHello World\033[0m'
Он печатает «Hello World» синим цветом. (на самом деле это программа Python, использующая «печать», но это не имеет значения для вопроса)
Теперь я хочу повторить выполнение программы с помощью bash-программы «часы». Но когда я выполняю ту же самую строку, что и выше, используя «часы», т.е.
watch echo -e '\033[34mHello World\033[0m'
текст не синий, и вывод становится «-e 033[34mHello World033[0m». Таким образом, escape-последовательности ANSI каким-то образом не декодируются.
Есть ли способ заставить программу «смотреть» уважать escape-последовательности или есть альтернатива «смотреть» для получения того же эффекта?
Это нормально, если он работает только в Linux, поскольку я использую только его.
Обновление: Таким образом, одним из решений будет установка более новой версии «watch», которая знает параметр --color. А есть ли другой способ, может подобную программу "смотреть"? (Я не администратор этой машины.)
watch
не является встроенной оболочкойbash
, а является исполняемой программой/usr/bin/watch
. - person Basile Starynkevitch   schedule 30.11.2012