Comment obtenir l'heure de plusieurs commandes avec une boucle

12

J'ai cette commande:

time -p sh -c 'command1; command2;'

Ainsi command1et command2est exécuté et j'obtiens le temps réel, d'utilisateur et de système imprimé sur la console.

Mais je veux que cela command1; command2;soit bouclé 10 fois et ensuite je veux obtenir le temps qui est utilisé pour les deux commandes.

Tim
la source

Réponses:

13

Vous pouvez écrire un simple for-loop

 time -p bash -c "for (( i=0; i<10; i++ )); do command1; command2; done;"

Notez que j'ai utilisé à la bashplace de shla boucle.

Bernhard
la source
13
En bash, vous pouvez justetime (for i in {1..10}; do sleep 1 ; done)
frostschutz
1
@frostschutz: La tienne semble être une bien meilleure réponse. Veuillez le poster comme réponse.
Chris Page
14

Avec zsh:

time (repeat 10 {cmd1; cmd2})

zsh« s repeatest hérité csh.

Avec tcsh:

time repeat 10 eval 'cmd1; cmd2'

Vous donnerait le temps pour chaque itération et le temps global à la fin.

Stéphane Chazelas
la source