Vous êtes-vous déjà demandé combien de temps il fallait pour exécuter un certain script shell ? Vous avez probablement déjà rencontré certains scripts shell qui impriment le temps nécessaire à l'exécution du script.
Ces informations sont parfois utiles pour l'analyse, en particulier si les scripts prennent du temps à se terminer.
En tant qu'administrateur système, si vous créez un script, vous pouvez afficher le temps d'exécution à la fin comme une information supplémentaire pour l'utilisateur final. C'est l'une des nombreuses façons de rendre vos scripts shell plus interactifs et plus détaillés.
Imprimer le temps d'exécution du script shell
Le shell Bash et quelques autres shells fournissent une variable intégrée appelée SECONDS à cet effet. Cette variable conserve le nombre de secondes depuis l'ouverture d'un shell et dans le cas d'un script, ce seront les secondes depuis l'exécution du script.
Vous pouvez utiliser la commande echo sous Linux pour afficher la valeur de cette variable SECONDS.
Laissez-moi vous montrer un exemple de script très simple :
#!/bin/bash
sleep 5
sleep 7
echo "This script took $SECONDS seconds to execute"
J'utilise la commande bash sleep dans le script ci-dessus qui ne fait rien d'autre qu'attendre le temps spécifié.
Que pensez-vous que devrait être le résultat du script ci-dessus ?
This script took 12 seconds to execute
Voyez comme il était facile d'afficher le temps d'exécution du script.
Vous pouvez également utiliser la commande time pour obtenir le temps d'exécution du script.
time ./script.sh
La sortie pour ce qui précède sera un peu différente de ce que vous avez vu auparavant. Il montrera le temps d'exécution en détail ici. Vous pouvez voir que le temps d'exécution est de 12,010 secondes, et non de 12 secondes.
real 0m12.010s
user 0m0.004s
sys 0m0.006s
J'espère que vous avez aimé cette petite astuce Linux rapide sur l'affichage du temps d'exécution d'un script shell bash. L'utiliseriez-vous dans vos scripts ? Quel scénario envisagez-vous pour l'utiliser ?