Недопустимая опция команды времени - PullRequest
2 голосов
/ 04 апреля 2019

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

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

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

Iпопытался пропустить это и написать: /usr/bin/time "%U", и я получаю %U: No such file or directory

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

1 Ответ

3 голосов
/ 04 апреля 2019

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


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

type time

и получите:

time is a shell keyword

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

help time

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

type time

и получите:

time is hashed (/usr/bin/time)

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


Если вы установили gnu-time с homebrew , вам нужно запустить:

gtime

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

/usr/local/bin/gtime

и просмотрите man-страницу:

man gtime

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

brew info gnu-time

и прочитайте, что говорится о настройке:

PATH = "/ USR / местные / опт / гну времени / libexec / gnubin: $ PATH"

...