Недопустимая опция команды времени

У меня проблемы с командой времени time. Он отлично работает, но поскольку время выводит 3 числа (реальное, пользовательское и системное), я искал, как получить только время пользователя. Я нашел много сообщений, в которых говорится об использовании /usr/bin/time -f "%U", но я получаю следующие ошибки:

/usr/bin/time: illegal option -- f
usage: time [-lp] command.

Я также не могу найти опцию -f, когда набираю man time

Пробовал пропускать и писать:/usr/bin/time "%U" и получаю %U: No such file or directory

Я установил GNU-time, но ничего не изменилось. в чем проблема?

Возможный дубликат Время Gnu и форматирование вывода

Daniel W. 04.04.2019 11:45

Вы на OS X?

Daniel W. 04.04.2019 11:52

@DanFromGermany Я на macOS

basel117 04.04.2019 11:55
Вариант -f вполне подходит, вы обращаетесь к неправильному двоичному файлу. Установленный вами time должен находиться где-то еще на вашем компьютере. Нажмите на ссылку, она показывает, как узнать, какой time вы используете (type time).
Daniel W. 04.04.2019 12:00

тогда почему man time показывает только -l или -p в качестве вариантов?

basel117 04.04.2019 12:05

Если вы установили gnu-time с доморощенный, вам нужно использовать gtime или /usr/local/bin/gtime, если вы не указали PATH.

Mark Setchell 04.04.2019 12:07

@MarkSetchell gtime сработало. Спасибо!

basel117 04.04.2019 12:12

Вау, хорошая информация, Марк, эта приставка g для меня тоже новая. Я добавил теги gnu и macos к вопросу. В универсальных системах Linux ситуация иная.

Daniel W. 04.04.2019 13:23
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
3
8
516
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Есть несколько команд time...


Если вы запустите:

type time

и получить:

time is a shell keyword

это означает, что вы используете встроенную команду оболочки bash, которая не принимает нужный параметр. help для этой команды, как и для всех встроенных в оболочку, доступен с помощью:

help time

Если вы запустите:

type time

и получить:

time is hashed (/usr/bin/time)

это означает, что вы используете предоставленную Apple (подобную BSD) команду time, которая не принимает желаемый вариант. Это также то, что описано в справочных страницах.


Если вы установили gnu-time с доморощенный, вам нужно запустить:

gtime

если вы не установили свой PATH для включения /usr/local/bin, как если бы вы использовали доморощенный, и в этом случае вам нужно будет запустить:

/usr/local/bin/gtime

и просмотрите справочную страницу с помощью:

man gtime

Если вы хотите всегда использовать команду time вместо gtime, а я бы этого не рекомендовал, вам нужно запустить:

brew info gnu-time

и прочитайте, что там написано о настройке:

PATH = "/usr/local/opt/gnu-time/libexec/gnubin:$PATH"

Другие вопросы по теме