Претендовать быть tty в bash для любой команды [дубликата]
На этот вопрос уже есть ответ:
Заставьте приложение думать, что его стандартный вывод - это терминал, а не канал 8 ответов Когда бы я ни использовалgrep
, и я передаю его в другую программу,--color
опция не соблюдается. Я знаю, что мог бы использовать--color=always
, но он также предлагает некоторые другие команды, которые я хотел бы получить точный вывод этой команды в качестве вывода, который я получил бы, если бы я был в tty.
Так что мой вопрос: можно ли обмануть команду, думая, что она выполняется внутри tty?
Например, работает
grep --color word file # Outputs some colors
grep --color word file | cat # Doesn't output any colors
Я бы хотел написать что-то вроде:
IS_TTY=TRUE grep --color word file | cat # Outputs some colors
Этот вопро, кажется, есть инструмент, который может делать то, что я хочу:empty - запуск процессов и приложений под псевдотерминалом (PTY), но из того, что я мог прочитать в документации, я не уверен, что это может помочь для моей проблемы