So erhalten Sie die Zeit mehrerer Befehle mit einer Schleife


12

Ich habe diesen Befehl:

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

Also command1und command2wird ausgeführt und ich bekomme die Real-, User- und Sys-Zeit auf die Konsole gedruckt.

Aber ich möchte, dass command1; command2;das 10-mal geschleift wird und dann möchte ich die Zeit bekommen, die für die beiden Befehle verwendet wird.

Antworten:


13

Sie können eine einfache forSchleife schreiben

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

Beachten Sie, dass ich bashstatt shfür die Schleife verwendet habe.


13
In Bash können Sie nurtime (for i in {1..10}; do sleep 1 ; done)
Frostschutz

1
@frostschutz: Deine scheint eine viel bessere Antwort zu sein. Bitte poste es als Antwort.
Chris Seite

14

Mit zsh:

time (repeat 10 {cmd1; cmd2})

zsh‚s repeatist geerbt von csh.

Mit tcsh:

time repeat 10 eval 'cmd1; cmd2'

Würden Sie die Zeit für jede Iteration und die Gesamtzeit am Ende geben.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.