Чому `time` відсутній у посібнику GNU Bash?


11
[fakename]$ help time
time: time [-p] pipeline
    Report time consumed by pipeline's execution...

З цього timeвиходить, що це вбудований Баш. Однак я не можу знайти його опис на цій сторінці: https://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html#Shell-Builtin-Commands . Чому це так?


1
Використовуйте, type timeщоб побачити, що це таке.
муру

man bashа потім просто наберіть/time
Джордж Васильоу

і не забувайте, /usr/bin/timeщо схоже на bash's, timeале відрізняється ....
ivanivan

Відповіді:


22

Це описано в підрозділі "Граматика оболонки / трубопроводи" базової сторінки . Він також описаний у посиланні, яке ви вказали в розділі Трубопроводи , де він індексується під "Зарезервованими словами" .

Трубопроводи

Трубопровід - це послідовність однієї або декількох команд, розділених одним з операторів управління | або | &. Формат трубопроводу такий:

[time [-p]] [ ! ] command [ | or |& command2 ... ] 

Стандартний вихід команди підключений по трубі до стандартного входу команди2. Це з'єднання виконується перед будь-якими перенаправленнями, вказаними командою (див. ПОНЯТТЯ нижче). Якщо | & використовується, стандартна помилка команди підключається до стандартного вводу command2 через трубу; це скорочення для 2> & 1 |. Це неявне перенаправлення стандартної помилки виконується після будь-яких перенаправлень, визначених командою.

Статус повернення трубопроводу - це стан виходу останньої команди, якщо тільки не включена опція pipefail. Якщо включено pipefail, стан повернення конвеєра - це значення останньої (самої правої) команди для виходу з ненульовим статусом, або нуль, якщо всі команди успішно виходять. Якщо зарезервоване слово! перед трубопроводом, статус виходу цього трубопроводу є логічним запереченням статусу виходу, як описано вище. Оболонка чекає, коли всі команди в трубопроводі завершаться перед поверненням значення.

Якщо зарезервоване час передує конвеєру, про закінчується, а також про споживчий та системний час, споживаний його виконанням, повідомляється про закінчення конвеєра. Параметр -p змінює вихідний формат у форматі, визначеному POSIX. Змінна TIMEFORMAT може бути встановлена ​​у рядку формату, який визначає, як повинна відображатися інформація про час; дивіться опис TIMEFORMAT в розділі "Оболонки змін" нижче.

Кожна команда в конвеєрі виконується як окремий процес (тобто в підпакеті).


5

Довідкове керівництво Bash можна переглянути на консолі за допомогою info. Потім користувач може шукати ключове слово в індексах, натискаючи клавішу i, вводити ключове слово і натискаючи клавішу Enter. infoперейде на перше місце в посібнику, пов’язане з ключовим словом. Натисніть, ,щоб перейти до інших місць. Для отримання додаткової інформації прочитайте посібник з інформацією про GNU, в Інтернеті чи на консолі, використовуючи info info. Дійсно, найважливіше, щоб швидко знайти ключове слово в посібнику, - це використовувати наявний індекс.

Важливим фактом у питанні є те, що time це не вбудований, а Bash зарезервоване слово чи ключове слово .

# Дивитися також


А-а-а, дякую. Так, я зараз це бачу з type time. Бачите, хоч це цікаво. help helpдає "Відобразити інформацію про вбудовані команди", а ще helpмає довідкову інформацію для ключових слів?
extremeaxe5
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.