Почему команда `time` не работает с какой-либо опцией?

Я попытался использовать команду time с параметром -f для форматирования вывода времени, но я получаю следующую ошибку:

-f: command not found

Затем я попытался использовать другие параметры -a , -o и т. д., и я получаю ту же ошибку. Даже time --version не работает (--version: command not found).

Не говорите мне, чтобы я читал этого человека, потому что я уже делаю это много раз ... Все эти параметры указаны там. Итак, где может быть проблема?

1
задан 2 February 2017 в 11:29

2 ответа

Поскольку, как объясняют другие ответы, time является ключевым словом оболочки, единственным доступным для вас вариантом является -p:

terdon@oregano ~ $ help time
time: time [-p] pipeline
    Report time consumed by pipeline's execution.

Execute PIPELINE and print a summary of the real time, user CPU time,
and system CPU time spent executing PIPELINE when it terminates.

Options:
  -p    print the timing summary in the portable Posix format

Итак, вам нужно запустить time это в /usr/bin. Вот несколько способов сделать это:

Вместо этого используйте исполняемый файл time:
/usr/bin/time -f %Uuser ls >/dev/null
Используйте \, из-за чего ваша оболочка игнорирует псевдонимы, встроенные слова и ключевые слова и вместо этого ищет ваш $PATH для соответствующий исполняемый файл:
\time -f %Uuser ls >/dev/null 
Используйте встроенный command, который выполняет те же действия, что и выше
command time -f %Uuser ls >/dev/null
Используйте другую оболочку, в которой нет такого ключевого слова. Например, sh (на самом деле dash на Ubuntu
sh -c "time -f %Uuser ls >/dev/null"
Используйте which, который будет выполнять поиск по вашему $PATH (OK, это глупо)
$(which time) -f %Uuser ls >/dev/null
20
ответ дан 24 May 2018 в 10:47

У оболочек bash и zsh есть внутренняя команда time. Вы должны использовать

/usr/bin/time -f ...

BTW, я обнаружил, что используя (из zsh):

~% which  time
time: shell reserved word
15
ответ дан 24 May 2018 в 10:47
  • 1
    Спасибо за ваш быстрый ответ, +1 ... но я должен принять другой ответ, потому что у него есть еще несколько хороших объяснений. – user258266 15 March 2014 в 00:03

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

Похожие вопросы: