Souhaitez-vous mettre ce code dans votre script, ou le faire à partir du processus qui démarre le script ?
Pour ce dernier, vous pouvez utiliser le mot réservé "time", puis analyser ce qu'il renvoie pour obtenir le temps nécessaire à un script.
Si vous souhaitez le faire à partir d'un script, vous pouvez définir la variable SECONDS sur zéro, et chaque fois que vous ferez référence à cette variable, elle sera mise à jour pour correspondre au nombre de secondes écoulées. Ainsi, vous pouvez mettre "SECONDS=0" au tout début de votre script, et chaque fois que vous aurez besoin du temps écoulé, il sera dans la variable SECONDS.
Vous pouvez également utiliser l'astuce $SECONDS sur la ligne de commande, par exemple :
$ SECONDS=0; sleep 5 ; echo "that took approximately $SECONDS seconds"
Le mot réservé de temps et la variable SECONDS sont tous deux documentés dans la page de manuel bash.
Cela fonctionne dans Bash, et aussi 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
- Les deux premières redirections masquent la sortie de votre processus ">/dev/null 2>&1"
- La dernière redirection est nécessaire car "time" imprime l'heure sur stderr