Uma opção é usar o programa script
NAME
script — make typescript of terminal session
SYNOPSIS
script [-a] [-c command] [-e] [-f] [-q] [-t[=file]] [-V] [-h] [file]
DESCRIPTION
script makes a typescript of everything printed on your terminal. It is
useful for students who need a hardcopy record of an interactive session
as proof of an assignment, as the typescript file can be printed out
later with lpr(1).
Observe, entretanto, que script
salva tudo no terminal (em vez de apenas saída de comando) - incluindo seqüências de cores ANSI, o que pode dificultar a extração de texto simples do arquivo resultante no caso de terminais coloridos.
ISENÇÃO DE RESPONSABILIDADE:
O seguinte é apenas uma ideia, pode haver dicas que eu não conheço associadas a usá-lo
Similar à sugestão do @ MomentumMori de gerar um sub-bacana tee
-d bash, se você quiser obter uma boa aparência com redirecionamentos, você provavelmente poderia fazer algo como
exec 3>&1
para salvar o descritor de arquivo de saída padrão atual e, em seguida,
exec 1> >(tee -a outfile)
A partir deste ponto, a saída padrão é redirecionada para um tee
sub processo que acrescenta tudo a outfile
. Como não redirecionamos o fluxo de saída do subprocesso, uma cópia da saída do comando também aparece no terminal.
Depois de concluir os comandos cuja saída você deseja capturar, você pode inverter o redirecionamento e fechar o descritor de arquivo temporário
exec 1>&3 3>&-
após o qual você pode procurar em outfile
para ver as saídas dos comandos
cat outfile