Я пишу утилиту командной строки для Linux. Если вывод (stdout) отправляется в оболочку, было бы неплохо напечатать несколько экранов, чтобы раскрасить вывод. Но если выходные данные перенаправляются, эти побеги bash не должны быть напечатаны, иначе содержимое может нарушить синтаксические анализаторы, которые полагаются на этот вывод.
Есть несколько программ, которые делают это (отстой как ack
), но те, которые я нашел, были написаны на Perl, и я не мог понять, как они это сделали.
Я хотел использовать C/C++ для написания своей утилиты.