Se o seu sistema não tiver /dev/stderr
, você poderá usar perl
dessa maneira:
{
your-code
..
} | perl -pe 'print STDERR'
perl
processa a entrada uma linha por vez, portanto você não verá linhas parciais. Por exemplo, com código como:
printf 'Foo'; sleep 2; printf 'Bar\n'
Você só verá FooBar
após 2 segundos.
Observe também que alguns comandos armazenam em buffer sua saída quando ela não vai para um terminal, então isso pode afetar o modo como a saída é feita.