Tengo un script de shell con muchas sentencias de eco. Quiero prefijar cada línea de salida con la hora/fecha.Prefijo de registros con fecha en el script de shell
Por lo tanto, sustituido cada
echo "Some text1"
echo "Some text2"
con
echo "`date +%y/%m/%d_%H:%M:%S`:: some text1"
echo "`date +%y/%m/%d_%H:%M:%S`:: some text2"
Esto es más bien fea. ¿Hay alguna forma de crear un alias (o el análogo a un #define en C) para hacerlo más limpio?
Obviamente, hacer algo como:
DATE=`date +%y/%m/%d_%H:%M:%S`
echo "$DATE:: some text1"
echo "$DATE:: some text2"
... no quiere trabajar, porque en ese caso la fecha sólo se calcula una vez cada eco tendría la misma fecha.
Estoy pensando en reemplazar cada eco con una llamada de función de impresión, que hace el prefijo. Quiero saber si alguien tiene otras/mejores ideas.
mejor usar '$ *' en lugar de '$ @ 'dentro de una cadena más grande (dado que es un contexto donde el comportamiento de' "$ @" 'de dividirse en un arg-por-miembro es indeseable), y es mejor utilizar la sintaxis de la declaración de función POSIX en ausencia de una razón concreta ser incompatible con eso. –