Arquivos de log da saída do script bash

2

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 neildeadman 21.06.2011 / 13:17

2 respostas

0

Por favor, leia a solução apresentada no seguinte link:
registrando blocos de código em arquivos de log em bash @ stackoverflow.com

    
por 14.07.2011 / 23:19
0

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!

    
por 28.06.2011 / 10:00