¿Puedo poner $SECONDS en una variable de entorno en un script bash?

¿Puedo poner $SECONDS en una variable de entorno en un script bash?

Me gustaría poder mostrar $SECONDShoras, minutos y segundos en una variable de entorno, por lo que solo necesito usarlo, por ejemplo, $RUNTIMEen varios lugares del script en lugar de tenerlo completo cada vez que quiera usarlo.

No sé qué formato usar para permitir que entre en una variable:

export RUNTIME="$(($SECONDS / 3600))hrs $((($SECONDS / 60) % 60))min $(($SECONDS % 60))sec"

Entonces puedo simplemente:

echo "The script ran for: $RUNTIME"

Gracias.

Respuesta1

Definir RUNTIME como una variable no ayudaría ya que genera un valor constante, siempre, el tiempo de ejecución cuando se definió. Pruebe con un caparazón functionen su lugar:

runtime() { 
   printf "%dhrs %dmin %dsec\n" $((SECONDS / 3600)) \
                                $(((SECONDS / 60) % 60)) \
                                $(($SECONDS % 60)); 
}
runtime

y llámalo/úsalo con una "sustitución de comando".

información relacionada