Como posso salvar a saída do último comando executado no terminal?

Como posso salvar a saída do último comando executado no terminal?

Eu tenho um comando de construção incremental para o meu projeto que produzirá algo se eu fizer uma construção limpa e produzirá outra coisa (menos) se eu fizer uma construção incremental.

Como posso salvar isso se já executo uma compilação limpa mycommand.she a saída é impressa na janela do terminal (sem usar copiar e colar)?

esqueci de fazer

mycommand.sh > myfile.txt

ou

mycommand.sh >> myfile.txt

para salvar a saída em um arquivo.

Responder1

Embora $(!!)a execução repetida do comando anterior possa parecer (ou às vezes ser) uma solução, também tem suas desvantagens que você precisacompletamenteentenda como usá-lo.

Exemplo: Se o comando fez algumas modificações como

rm -rv /tmp/*

servirá, então executar novamente esse comando de qualquer maneira podenãoproduz a mesma saída de antes, com a exceção de que se /tmp/ estava vazio antes da primeira execução e ainda está vazio na segunda vez, a saída deverá ser a mesma.

Resumindo: não háseguromaneira de reutilizar ou salvar (sem copiar e colar) a saída do último comando se você não a salvou enquanto o comando foi executado.

Responder2

Você não pode, pois o bash não aloca nenhuma saída para nenhum parâmetro ou bloco em sua memória.

No entanto, você pode usar $(!!)pararecalcular(não reutilizar) a saída do último comando.

O !!sozinho executa o último comando.

$ echo pierre
pierre
$ echo my name is $(!!)
echo my name is $(echo pierre)
my name is pierre

Fonte:Reutilizando a saída do último comando no Bash

informação relacionada