Por favor, leia a solução apresentada no seguinte link:
registrando blocos de código em arquivos de log em bash @ stackoverflow.com
Eu tenho um script que é executado (isso funciona bem).
Eu gostaria de produzir arquivos de log de sua saída e ainda mostrá-lo na tela. Eu tenho este comando que cria três arquivos deste blog :
((./fk.sh 2>&1 1>&3 | tee errors.log) 3>&1 1>&2 | tee output.log) 2>&1 | tee final.log
Isso faz exatamente o que eu quero.
Meu único problema é criar arquivos no meu script e copiá-los em algum lugar, e gostaria de copiar esses arquivos de log também, o que não posso fazer enquanto esse script estiver sendo executado. Eu também queria tornar mais fácil para qualquer usuário executar meu script, então criei outro script para executar este script. De acordo com este post ( ver último post ) Eu posso colocar um .
antes do nome do script e eu posso usar variáveis atribuídas no meu script chamado do primeiro script, se eu usá-los no primeiro.
Parece que não funciona e não consigo descobrir porquê ou encontrar métodos alternativos.
Alguém pode ajudar?
Por favor, leia a solução apresentada no seguinte link:
registrando blocos de código em arquivos de log em bash @ stackoverflow.com
Descobri que, usando exec
, posso alcançar o que queria sem a necessidade de um segundo script, assim:
#!/bin/bash
exec 1>&2-
cmd1
cmd2
Pensei que valeria a pena postar caso alguém achasse essa questão!
Tags bash sh ubuntu-10.04