A barra de progresso é um recurso do pv
, está escrito em erro padrão. Do manual pv
:
pv shows the progress of data through a pipeline by giving information such as time elapsed, percentage completed (with progress bar), current throughput rate, total data transferred, and ETA.
To use it, insert it in a pipeline between two processes, with the appropriate options. Its standard input will be passed through to its standard output and progress will be shown on standard error.
Não há realmente nenhum problema em gravar no TTY e, ao mesmo tempo, redirecionar a saída padrão e o erro padrão:
$ ( echo "out"; echo "error" >&2; echo "hi there" >$(tty) ) 2>&1 | cat >file
hi there
$ cat file
out
error
Além disso, O_WRONLY
e O_RDONLY
não são substantivos, mas adjetivos. A saída padrão é somente para gravação e a entrada padrão é somente leitura.