А можно ли вообще это сделать? Даже если можно сохранить текущие цветовые настройки, то как быть с атомарностью вывода. Что бы все работало нужно чтобы операция (сохранить настройки, вывести строку, вернуть настройки) была атомарной.
Мысль интересная, почти работает, но только этот colorer почему-то после конца вывода продолжает в бесконечном цикле читать и выводить какие-то непонятные пустые строки, непонятно почему это происходит.
Но всё же хочется знать, можно ли это сделать без фифо. Конвейер | читает из stdout, а есть ли в shell конвейер, который читает из stderr?
Какая-то ерунда с самим фифо получается.
Делаю "colorer < ~/tmp/stderr", если сделать "ps adsadas 2>~/tmp/stderr", то результат непредсказуемый получается--то работает, то не работает :(