Creare un file di log
Quando si scrive una procedura per la shell e’ sempre bene fare in modo che venga creato un file di log contente tutte le informazioni importanti e le operazioni effettuate dalla procedura stessa. Per fare cio’ basterebbe reindirizzare l’output dello schermo su un file con il consueto simbolo di maggiore (>). In questo modo pero’ non vediamo piu’ a schermo quello che sta’ succedendo. Inoltre sarebbe comodo avere nel file di log l’indicazione della data e dell’ora a cui e’ avvenuto un verto evento.
Bene, attraverso l’uso combinato dei comandi date e tee possiamo scrivere una semplice funzione che fa’ al caso nostro.
dateTime=$(date "+%Y-%m-%d %H:%M:%S")
if [[ -n $2 ]]
then
echo "$dateTime $1" | tee -a $2
else
echo "$dateTime $1 (no log file specified)"
fi
}
La funzione va usata in questo modo
Il primo argomento e’ obbligatorio e rappresenta l’informazione che volete scrivere nel file di log. Il secondo argomento e’ il nome del file di log in cui volete scrivere. Se tale file non viene specificato il testo viene scritto solo a schermo.
Il risultato sara’ della forma
Al prossimo trick!

