Cómo obtener el tiempo de varios comandos con un bucle

12

Tengo este comando:

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

Así command1, y command2se ejecuta y consigo el verdadero, el usuario sys y hora impresa en la consola.

Pero quiero que command1; command2;se repita 10 veces y luego quiero obtener el tiempo que se usa para los dos comandos.

Tim
fuente

Respuestas:

13

Puedes escribir un forbucle simple

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

Tenga en cuenta que usé en bashlugar de shpara el bucle.

Bernhard
fuente
13
En bash puedes simplementetime (for i in {1..10}; do sleep 1 ; done)
frostschutz
1
@frostschutz: la suya parece una respuesta mucho mejor. Por favor publíquelo como respuesta.
Chris Page
14

Con zsh:

time (repeat 10 {cmd1; cmd2})

zsh's repeatse hereda de csh.

Con tcsh:

time repeat 10 eval 'cmd1; cmd2'

Te daría el tiempo para cada iteración y el tiempo total al final.

Stéphane Chazelas
fuente