cómo calcular el time empleado (time transcurrido) por ciclo

Hola a todos Tengo script que llama a otro script con while loop. Necesito saber cómo calcular el time de cada ciclo, como:

Starting NodeManager... NodeManager Started Elapsed time: 00:00:10 Starting AdminServer... AdminServer Started Elapsed time: 00:01:10 

aquí está el guión

 #!/bin/bash set -e clear TFILE=starting.log #-------------------------------------------------------------------------------- Check_Status_NM () { tail -F ${TFILE} | while read LOGLINE do if [[ "${LOGLINE}" == *"Secure socket listener started on port"* ]] then pkill -P $$ tail break elif [[ "${LOGLINE}" == *"Address already in use"* ]]; then pkill -P $$ tail echo -e "Cannot Start Server\nSee starting.log for more info " exit 1 fi done } #---------------------------------------------------------------- Check_Status () { tail -F ${TFILE} | while read LOGLINE do if [[ "${LOGLINE}" == *"The Network Adapter could not establish the connection"* ]] ; then echo -e "\e[5m\e[93mWARNING\e[0m Could not establish the connection\n\e[91mCheck Connection to Database\e[0m\n" elif [[ "${LOGLINE}" == *"<Server started in RUNNING mode>"* ]] then pkill -P $$ tail && cat /dev/null > ${TFILE} sleep 1 break elif [[ "${LOGLINE}" == *"<Server state changed to FORCE_SHUTTING_DOWN>"* ]] || [[ "${LOGLINE}" == *"Address already in use"* ]]; then pkill -P $$ tail echo -e "\e[91mCannot Start Server\e[0m\nSee starting.log for more info " exit 1 fi done } export JAVA_OPTIONS="-Dweblogic.management.username=weblogic -Dweblogic.management.password=oracle11g" #-------Start NodeManager------------------------------------------------------- echo -e "Starting NodeManager..." nohup "$WLS_HOME"/server/bin/startNodeManager.sh > ${TFILE} 2>&1 & Check_Status_NM echo -e "NodeManager \e[92mStarted\e[0m\n" #--------------------------Start WebLogic Domain------------------------------------------------ echo -e "Starting AdminServer..." nohup "$DOMAIN_HOME"/bin/setDomainEnv.sh > ${TFILE} 2>&1 & nohup "$DOMAIN_HOME"/bin/startWebLogic.sh > ${TFILE} 2>&1 & Check_Status echo -e "AdminServer \e[92mStarted\e[0m\n" #----------- Start FORMS------------------------------ echo "Starting Forms Server..." nohup "$DOMAIN_HOME"/bin/startManagedWebLogic.sh WLS_FORMS t3://$(hostname):7001 > ${TFILE} 2>&1 & Check_Status echo "Forms Server \e[92mStarted\e[0m\n" #----------- Start Reports------------------------------ echo -e "Starting Reports Server..." nohup "$DOMAIN_HOME"/bin/startManagedWebLogic.sh WLS_REPORTS t3://$(hostname):7001 > ${TFILE} 2>&1 & Check_Status echo -e "Reports Server \e[92mStarted\e[0m\n" #---------------------Start anything remaining using OPMN------------------------ opmnctl startall ; opmnctl status ; emctl start agent 

Bash tiene un "timer" incorporado. Establezca la variable SECONDS a 0 (cero) cuando desee iniciar el cronometraje, y lea su valor para get el número de segundos transcurridos desde que se reinició por última vez.