Não há como saber quando a saída já foi impressa. Nesse caso, tanto stdout
como stderr
estão conectados ao terminal, portanto, as informações sobre qual fluxo foi gravado já estavam perdidas no momento em que o texto apareceu em seu terminal; eles foram combinados pelo programa antes de chegar ao terminal.
O que você pode fazer, em um caso como o acima, seria executar o comando com stdout
e stderr
redirecionado para lugares diferentes e ver o que acontece. Ou execute-o duas vezes, uma vez com stdout
redirecionado para /dev/null
e uma vez com stderr
redirecionado para /dev/null
e veja quais desses casos resultam na exibição do texto.
Você pode redirecionar stdout
para /dev/null
alinhando >/dev/null
no final da linha de comando e pode redirecionar stderr
para /dev/null
adicionando 2>/dev/null
.