Làm thế nào để có được thời gian của một số lệnh với một vòng lặp


12

Tôi có lệnh này:

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

Vì vậy, command1command2được thực thi và tôi nhận được thời gian thực, người dùng và sys được in trên bàn điều khiển.

Nhưng tôi muốn điều đó command1; command2;được lặp lại 10 lần và sau đó tôi muốn có được thời gian được sử dụng cho hai lệnh.

Câu trả lời:


13

Bạn có thể viết một for-loop đơn giản

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

Lưu ý rằng tôi đã sử dụng bashthay vì shcho vòng lặp.


13
Trong bash bạn chỉ có thểtime (for i in {1..10}; do sleep 1 ; done)
frostschutz

1
@frostschutz: Bạn có vẻ như là một câu trả lời tốt hơn nhiều. Xin vui lòng gửi nó như là một câu trả lời.
Chris Trang

14

Với zsh:

time (repeat 10 {cmd1; cmd2})

zsh's repeatđược thừa hưởng từ csh.

Với tcsh:

time repeat 10 eval 'cmd1; cmd2'

Sẽ cho bạn thời gian cho mỗi lần lặp và tổng thời gian ở cuối.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.