tee
existe para este propósito; ele recebe um argumento de nome de arquivo e grava os dados que lê do stdin para o stdout e o arquivo:
$ prog 2>&1 | tee file
Ok. Se eu quisesse redirecionar a saída de um programa para um arquivo, faria algo assim
prog > file
Se eu quisesse redirecionar stdout e stderr para esse arquivo, eu faria
prog > file 2>&1
Tudo isso é bom se você quiser que a saída vá para o arquivo. Mas e se você quiser que a saída vá para o arquivo e ainda assim vá para stdout / stderr? Assim, a saída é salva no arquivo, mas você ainda pode vê-lo no console enquanto o programa está sendo executado. Existe uma maneira de fazer isso? E se sim, como?
tee
existe para este propósito; ele recebe um argumento de nome de arquivo e grava os dados que lê do stdin para o stdout e o arquivo:
$ prog 2>&1 | tee file
Tags shell io-redirection