Se você quiser mostrar a saída e não precisar salvá-la, basta executar o comando:
sudo ./test_app -release
Se você deseja salvar a saída e exibi-la, chame tee
para duplicar a saída.
OUTPUT=$(sudo ./test_app -release | tee /dev/stderr)
Quando você redireciona a saída, o aplicativo pode armazenar em buffer sua saída em grandes blocos, em vez de linha por linha. Linha por linha é o padrão apenas quando a saída é um terminal, não quando é um canal ou um arquivo regular. Se esse for o caso de seu aplicativo, chame unbuffer
ou stdbuff
. Devido a a maneira como eles funcionam , stdbuf
precisa ser invocado pelo sudo, enquanto buffer
pode ser executado como você.
OUTPUT=$(sudo stdbuf ./test_app -release | tee /dev/stderr)
OUTPUT=$(unbuffer sudo ./test_app -release | tee /dev/stderr)