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, command1và command2đượ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 cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.