¿Quiere poner este código en su secuencia de comandos o hacerlo desde el proceso que inicia la secuencia de comandos?
Para este último, puede usar la palabra reservada "tiempo" y luego analizar lo que devuelve para obtener cuánto tiempo toma un script.
Si desea hacer esto desde dentro de un script, puede establecer la variable SEGUNDOS en cero, y cada vez que haga referencia a esa variable, se actualizará para que sea el número de segundos transcurridos. Por lo tanto, puede poner "SEGUNDOS =0" al comienzo de su secuencia de comandos, y siempre que necesite el tiempo transcurrido, estará en la variable SEGUNDOS.
También puede usar el truco $SECONDS en la línea de comandos, por ejemplo:
$ SECONDS=0; sleep 5 ; echo "that took approximately $SECONDS seconds"
La palabra de tiempo reservado y la variable SEGUNDOS están documentadas en la página de manual de bash.
Esto funciona en Bash y también en Zsh:
# Set time format to seconds
TIMEFORMAT=%R
# Time a process
PROC_TIME=$(time (insert command here >/dev/null 2>&1) 2>&1)
echo $PROC_TIME
- Las dos primeras redirecciones ocultan la salida de su proceso ">/dev/null 2>&1"
- Se necesita la última redirección porque "time" imprime la hora en stderr