Відповіді:
Спробуйте просто time
замість timethis
.
Хоча майте на увазі, що часто є вбудована оболонка у версії часу та двійкова версія, яка дає результати в різних форматах:
$ time wget -q -O /dev/null https://unix.stackexchange.com/
real 0m0.178s
user 0m0.003s
sys 0m0.005s
проти
$ \time wget -q -O /dev/null https://unix.stackexchange.com/
0.00user 0.00system 0:00.17elapsed 4%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+613minor)pagefaults 0swaps
На відміну від програми "timethis", ви отримуєте три значення назад. Це розбито на те, що таке "системний час" при використанні "часу" в командному рядку , але коротше: реальний означає "час настінного годинника", а користувач і системи показують час тактового процесора, розділений між звичайним кодом і системними викликами.
Використовуючи виконуваний файл time
замість вбудованої оболонки, ви можете вказати вихідний формат та значення. Наприклад, отримайте реальний минулий час разом із назвою команди та параметрами
/usr/bin/time --format='%C took %e seconds' sleep 3
sleep 3 took 3.00 seconds
Зауважте, що вам потрібно вказати шлях time
, інакше ви користуєтеся вбудованою оболонкою за замовчуванням.
/usr/bin
є в їхній ПАТІ?
time
буде використана вбудована утиліта оболонки .
command time
або \time
виконувати утиліту замість вбудованої.
@galois: у різних оболонках є кілька «вбудованих» команд, які мають перевагу над будь-яким на шляху. Зазвичай це вигідно; вбудовані модулі, як правило, працюватимуть швидше (тому що не викликають зовнішній файл) і зазвичай дають бажаний результат (тобто, у випадку команди time, вам зазвичай не важливо, яку версію ви використовуєте, якщо ви не хочете використовувати " --формат "прапор).
Тож "час" без будь-яких спеціальних символів (як /), щоб він виглядав так, як шлях закінчиться вбудованим, незалежно від того, як виглядає ваш PATH.
Щоб змусити оболонку використовувати зовнішню команду часу, потрібно вказати шлях