S nedávným bashem můžete použít substituci procesů.
foo 2> >(tee stderr.txt)
Toto pouze odešle stderr do programu běžícího odpaliště.
Přenosnější
exec 3>&1
foo 2>&1 >&3 | tee stderr.txt
Díky tomu bude deskriptor souboru 3 kopií aktuálního stdout (tj. obrazovky), pak se nastaví roura a spustí se foo 2>&1 >&3
. Toto odešle stderr of foo na stejné místo jako aktuální stdout, což je roura, a poté odešle stdout na fd 3, původní výstup. Trubka přivádí původní stderr of foo do tee, který jej uloží do souboru a odešle na obrazovku.
Třídit textové soubory s více řádky jako řádek
Jak vypsat seznam otevřených deskriptorů souborů (a souborů, na které odkazují) v mé aktuální relaci bash