Я пишу сценарий оболочки, который использует символы символов ANSI в командной строке.Обнаружение типа потока вывода сценария оболочки
Пример: example.sh
#!/bin/tcsh
printf "\033[31m Success Color is awesome!\033[0m"
Моя проблема при выполнении:
$ ./example.sh > out
или
$./example.sh | grep
ASCII-коды будут разосланы сырыми вместе с текст, удаляющий выход и просто вызывающий хаос.
Мне интересно узнать, есть ли способ обнаружить это, чтобы я мог отключить цвет для этого особого случая.
Я искал страницы руководства и веб-страницы tcsh некоторое время и еще не смог найти что-либо еще.
Я не привязан к tcsh, это наша группа стандартов ... но кому это нужно?
Возможно ли обнаружить внутри скрипта оболочки, если ваш выход перенаправляется или передается по трубопроводу?
Мы * просто * сделали это: http://stackoverflow.com/questions/911168/detect-if-shell-script-is-running-through-a-pipe – dmckee
Ха-ха, это действительно ужасно, что он спросил когда я действительно сталкивался с проблемой. Я просто начал задавать вопрос. –
Связанный с этим: http://unix.stackexchange.com/q/9957/50602 – Palec