Почему "время" в Ubuntu не соответствует стандартному формату POSIX и как его изменить?
Если вы измеряете время в Ubuntu 18.04, результат отображается в одной строке:
$ time sleep 1
sleep 1 0.00s user 0.00s system 0% cpu 1.003 total
Это не соответствует стандарту POSIX, как описано в timeСтраница человека:
-p, --portability
Use the following format string, for conformance with POSIX standard 1003.2:
real %e
user %U
sys %S
Теперь мой вопрос:
Почему Ubuntu использует свой собственный формат для отображения использования ресурсов?
Кроме того, как я могу изменить поведение? С использованием -p вариант из руководства, которое я цитировал выше, я получаю только следующую ошибку:
$ time -p sleep 1
zsh: command not found: -p
-p sleep 1 0.00s user 0.00s system 73% cpu 0.002 total
1 ответ
Ваша ошибка - огромная подсказка -
zsh: команда не найдена: -p
Вы используете Zsh, а не BASH или DASH.
Страница man для time относится к внешней программе /usr/bin/time: bash, так же как и zsh, предоставляет собственную встроенную оболочку времени (которая имеет эквивалентный ключ -p)
корректирующий комментарий @steeldriver
Я получаю другой результат на моей стандартной Ubuntu, используя bash по умолчанию - или то, что вы, без сомнения, хотите / ожидаете.
guiverc@d960-ubu2:~$ time -p sleep 1
real 1.09
user 0.00
sys 0.00