Jak uzyskać czas kilku poleceń za pomocą pętli

12

Mam to polecenie:

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

Tak command1i command2jest wykonywany, a na konsoli wyświetla się rzeczywisty czas użytkownika i systemu.

Ale chcę, żeby to command1; command2;było zapętlone 10 razy, a następnie chcę uzyskać czas, który jest używany dla dwóch poleceń.

Tim
źródło

Odpowiedzi:

13

Możesz napisać prostą forpętlę

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

Zauważ, że użyłem bashzamiast shpętli.

Bernhard
źródło
13
W bash możesz po prostutime (for i in {1..10}; do sleep 1 ; done)
frostschutz
1
@frostschutz: Twoja odpowiedź wydaje się znacznie lepsza. Proszę opublikować jako odpowiedź.
Chris Page
14

Z zsh:

time (repeat 10 {cmd1; cmd2})

zsh„s repeatjest dziedziczony csh.

Z tcsh:

time repeat 10 eval 'cmd1; cmd2'

Dałby ci czas na każdą iterację i całkowity czas na końcu.

Stéphane Chazelas
źródło