Você pode redirecionar stdout
do seu script para o stdout
de seu processo pai. Similarmente para stderr
.
#!/bin/bash
exec 1>/proc/$PPID/fd/1
exec 2>/proc/$PPID/fd/2
Redirecionar stdout
como esse pode ter consequências inesperadas ou causar uma surpresa desagradável para alguém que esteja executando o script tentando capturar e analisar seu stdout
quando essa saída aparecer em seu terminal.
Você pode ver como isso pode ser confuso (imagine a execução em um script que não seja um argumento -c
)
$ x=$(bash -c 'exec 1>/proc/$PPID/fd/1 && echo text')
text
$ echo "x was $x"
x was
Em primeiro lugar, algo é impresso, mesmo que a subshell tenha capturado a stdout! E então, x
estava vazio! Loucura. Parece que o text
veio de um stderr
, exceto que não.
Idealmente, yum
teria apenas um sinalizador para isso; talvez alguém devesse fazer um pedido de compra;)