Como posso registrar a saída do terminal em um arquivo, mas deixar a janela do terminal ativa para permitir o atendimento de prompts? [duplicado]

0

Estou tentando executar um script grande que solicita respostas ao longo do caminho. Eu quero executá-lo no modo detalhado e, portanto, haverá saída significativa e eu gostaria de capturá-lo. Portanto, gostaria de executá-lo de uma maneira que me permita responder às perguntas, além de enviar a saída para um arquivo.

Isso pode ser feito?

Obrigado.

Mike

    
por mike65535 23.09.2015 / 01:09

1 resposta

1

Ao responder você está dando entrada via descritor de arquivo 0, ou seja, STDIN e o programa está mostrando a saída no descritor de arquivo 1, ou seja, STDOUT. Como você pode ver, esses dois estão trabalhando em diferentes descritores de arquivos e manipular um não deve atrapalhar o funcionamento de outros.

Observe que também há o descritor de arquivo 2, ou seja, STDERR, normalmente usado para exibir mensagens de erro.

No seu caso, execute o script como:

./myscript.sh >~/script.out

Agora você pode fornecer respostas de entrada para as perguntas do script via STDIN e a saída do programa será salva em ~/script.out .

Você também pode salvar o erro, por ex. em outro arquivo:

./myscript.sh >~/script.out 2>~/script.err

O STDOUT será salvo em ~/script.out e o STDERR será salvo em ~/script.err .

Você pode salvar a saída e o erro no mesmo arquivo:

./myscript.sh >~/script.all 2>&1

Agora, ~/script.all conterá as saídas e mensagens de erro (se houver) de myscript.sh .

    
por heemayl 23.09.2015 / 01:21