se você executar um script bash chamando-o com:
bash -x yourbashscript.sh
você verá os comandos e a saída dada pelos comandos executados.
Eu sei que existe uma maneira de escrever saídas de shell bash para um arquivo. No entanto, quero saber quais comandos foram executados por um aplicativo, já que algumas dessas execuções não são produzidas como uma saída do shell.
Então, existe uma maneira de escrever comandos, incluindo saídas, que foram executadas em um arquivo?
se você executar um script bash chamando-o com:
bash -x yourbashscript.sh
você verá os comandos e a saída dada pelos comandos executados.
Se você executar seu script com -x
(por exemplo, bash -x <script>
), verá todas as saídas. Se você quiser executá-lo normalmente sem ver a saída (mas redirecioná-lo para um arquivo também), você pode fazer bash -x <script> 2>/dev/null
Normalmente, o bit -x
é impresso em stderr (2) e não em stdout (1).
Você poderia set -x
de dentro do script onde deseja (e set +x
quando não) e redirecionar todos os STDERR para um arquivo como acima ( scriptname.bash 2>coolfile.txt
).
Além disso, você precisará recorrer ao perl ou python.