Bash зарезервовані слова проти вбудованих команд та форматування результатів команди time


8

Яка різниця між зарезервованими словами bash та вбудованими командами?

Чи можу я відключити час bash та використовувати його /usr/bin/time? Якщо ні, то як я можу відформатувати його вихід?


1
Насправді існує змінна середовище: TIMEFORMAT, яка вказує вихід часу.
Qian

Відповіді:


9

Більшість зарезервованих слів - це команди, вбудовані в bash; якщо ви хочете використовувати виконуваний файл, який має те саме ім’я, що і зарезервоване слово, то або вкажіть повний шлях до виконуваного файлу, або ухиліться від команди із зворотною косою рисою.

$ time

real    0m0.000s
user    0m0.000s
sys 0m0.000s
$ \time
Usage: time [-apvV] [-f format] [-o file] [--append] [--verbose]
       [--portability] [--format=format] [--output=file] [--version]
       [--help] command [arg...]
$ then
bash: syntax error near unexpected token `then'
$ \then
bash: then: command not found

Крім того, FAQ # 32: "Як я можу перенаправити висновок 'time' на змінну чи файл?" .


Власне кажучи, зарезервовані слова зовсім не обов'язково є командами, як це демонструє навіть ваш приклад.
JdeBP

1

Ви можете використовувати builtin <cmd>та command <cmd>примушувати викликати bash вбудовану або зовнішню команду.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.