为什么GNU Bash手册中没有“时间”?


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

由此看来,似乎time是Bash内置的。但是,我无法在此页面上找到其描述:https : //www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html#Shell-Builtin-Commands。为什么会这样呢?


1
使用type time看它是什么。
muru

man bash然后只需键入/time
乔治·瓦西利乌

并且不要忘记/usr/bin/time哪一个与bash的相似time但又不同
。...– ivanivan

Answers:


22

bash联机帮助页的“ Shell语法/管道”小节对此进行了描述。您在“ 管道”部分提供的链接中也对此进行了描述,该链接在“保留字”下建立了索引。

流水线

管道是由一个或多个控制运算符之一分隔的一个或多个命令的序列。或|&。管道的格式为:

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

命令的标准输出通过管道连接到命令2的标准输入。该连接是在命令指定的任何重定向之前执行的(请参见下面的“重定向”)。如果使用|&,则命令的标准错误通过管道连接到command2的标准输入;它是2>&1 |的简写。标准错误的隐式重定向是在命令指定的任何重定向之后执行的。

管道的返回状态是最后一条命令的退出状态,除非启用了pipefail选项。如果启用了pipefail,则管道的返回状态是最后一个(最右边的)命令以非零状态退出的值,如果所有命令成功退出则为零。如果保留字!在管道之前,该管道的退出状态是如上所述的退出状态的逻辑取反。在返回值之前,shell等待管道中的所有命令终止。

如果时间保留字在管道之前,则在管道终止时将报告其执行所消耗的时间以及用户和系统时间。-p选项将输出格式更改为POSIX指定的格式。TIMEFORMAT变量可以设置为一个格式字符串,该格式字符串指定应如何显示时间信息;请参阅下面的Shell变量下对TIMEFORMAT的描述。

管道中的每个命令都作为单独的进程(即,在子Shell中)执行。


5

可以使用在控制台上查看《 Bash参考手册》info。然后,用户可以在按键i,键入关键字并按键的索引中搜索关键字Enterinfo将跳至手册中与该关键字相关联的第一个位置。按下,可到达其他位置。有关更多信息,请在线或通过控制台阅读GNU Info手册info info。确实,在手册中快速找到关键字的最重要的事情是使用现有索引。

关于此问题的基本事实是,time 它不是内置函数,而是Bash 保留的单词关键字

# 也可以看看


啊,谢谢。是的,我现在看到了type time。看,这很有趣。help help产生“显示有关内置命令的信息”,并且help还具有关键字的帮助信息?
Extremeaxe5 '18年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.