Como posso executar/fonte de um script de shell (bash, se isso for importante) e obter a saídaincluiros comandos dentro do script? Eu gostaria de redirecionar a saída para um arquivo como em
$ ./my_script > output.txt
e fazer com que o output.txt
arquivo contenha os comandos do script como se eu tivesse inserido seu conteúdo em um terminal de forma interativa e depois copiado e colado o conteúdo da janela do terminal em um arquivo.
Pontos de bônus para soluções que tornam os comandos visualmente diferentes das linhas de saída, como em um terminal com o $
.
Responder1
No seu script, adicione a seguinte linha antes de qualquer comando (isso grava cada comando no stderror antes de executá-lo):
set -x
então inicie seu script:
./my_script > output.txt 2>&1