Как получить время нескольких команд с помощью цикла


12

У меня есть эта команда:

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

Так command1и command2выполняется, и я получаю реальное, пользовательское и системное время, напечатанное на консоли.

Но я хочу, чтобы command1; command2;это было зациклено 10 раз, а затем я хочу получить время, которое используется для двух команд.

Ответы:


13

Вы можете написать простой forцикл

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

Обратите внимание, что я использовал bashвместо shцикла.


13
В bash вы можете простоtime (for i in {1..10}; do sleep 1 ; done)
frostschutz

1
@frostschutz: Твой ответ выглядит намного лучше. Пожалуйста, отправьте это как ответ.
Крис Пейдж

14

С зш:

time (repeat 10 {cmd1; cmd2})

zsh«s repeatнаследуется от csh.

С tcsh:

time repeat 10 eval 'cmd1; cmd2'

Даст вам время для каждой итерации и общее время в конце.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.