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