bash - grava a saída após a execução do programa

1

Eu sei que posso redirecionar stdout para um arquivo antes de executar um script, mas existe uma maneira de acessar toda a saída de um programa que já foi executado? Quando a saída é muito longa, ela é cortada pela janela do terminal e não consigo ver as impressões iniciais.

    
por nmat 29.07.2011 / 16:34

1 resposta

1

Há algumas sugestões:

  1. aumenta o número de linhas retidas na sua janela de terminal. Em todos os sistemas que eu posso, eu costumo configurá-lo para algo como 10.000 linhas (ou o máximo possível é menor).
  2. (provavelmente um pouco mais prático) Quando você sabe que pode querer capturar a saída, inicie um novo shell bash em execução e canalize a saída para um arquivo com tee ( bash | tee record.txt ). Qualquer saída dos comandos executados nesse shell será colocada no arquivo "record.txt". Infelizmente, ele não captura a entrada (incluindo os comandos que você digita) e os prompts do shell.
  3. (melhor) Antes de executar qualquer coisa que você queira proteger, use script . Isso iniciará a captura de sua entrada e saída do programa. Quando tiver terminado o material, saia do shell ou digite Ctrl-D. Observação: a saída gerada pelo script pode não ser gravada até que 'script' seja concluído.
por 29.07.2011 / 16:45