Qualche volta è utile inviare l’output di uno script o parte di esso in un file di log.
Allora con o senza parentesi, con o senza error output, più o meno si inseriscono righe come queste:
(
echo -n "start "
date
# do something
echo -n "end "
date
) >> logfile.log 2>&1
Poi però in caso serva tenere sotto controllo quello che succede, si è costretti ad andare in tail -f sul file di log.
L’alternativa è reindirizzare tutto verso tee che scrive in un file e su standard output contemporaneamente:
(
echo -n "start "
date
# do something
echo -n "end "
date
) 2>&1 | tee -a logfile.log
Il -a serve per andare in append anzichè sovrascrivere il file, ma per eventuali dubbi come sempre vale la regola d’oro “RTFM”! 😀