Определение типа выходного потока сценария оболочки
Я пишу сценарий оболочки, который использует символы цвета ANSI в командной строке.
Пример:example.sh
#!/bin/tcsh
printf "\033[31m Success Color is awesome!\033[0m"
Моя проблема заключается в том, что:
$ ./example.sh > out
или же
$./example.sh | grep
Коды ASCII будут отправляться в необработанном виде вместе с текстом, портя выходные данные и просто вызывая хаос.
Мне интересно знать, есть ли способ обнаружить это, чтобы я мог отключить цвет для этого особого случая.
Я некоторое время искал man-страницы tcsh и в Интернете и пока не смог найти что-то конкретное для оболочки.
Я не связан с tcsh, это стандарт нашей группы ... но кого это волнует?
Можно ли обнаружить внутри сценария оболочки, что ваш вывод перенаправлен или передан по каналу?