为了找出 Bash (v4+) 脚本中的某些操作需要多长时间,我想time“单独”解析命令的输出,并(最终)在 Bash 变量 ( let VARNAME=...) 中捕获它。
现在,我正在使用time -f '%e' ...(或者更确切地说command time -f '%e' ...是因为内置了 Bash),但是由于我已经重定向了执行命令的输出,我真的不知道我将如何捕获time命令的输出。基本上这里的问题是到输出分离的time从被执行的命令(或多个)的输出。
我想要的是计算启动命令和完成命令之间的时间(以秒为单位)的功能。它不必是time命令或相应的内置命令。
编辑:鉴于以下两个有用的答案,我想添加两个说明。
date到目前为止使用的解决方案接近我想要的。
我不时执行一些需要很长时间才能执行的 python 脚本。
我像这样执行它们:
$ time python MyScript.py
如何在脚本执行完成后立即播放声音?
我使用 Ubuntu 10.10(Gnome 桌面)。
有没有办法像在前面调用它们一样运行所有命令?我希望我可以输入,这实际上会调用.bashtime$ some_command$ time some_command
如何在bash中的每个命令后添加垂直空间?
寻找一点垂直空间,而不是整条线。行高的 1/4 或 1/3 应该这样做。
[编辑] 要添加的空间仅在命令+输出包之后。命令和相关输出之间的行仍然使用默认间距。示例: do ls,使用规则行间距显示输出;只有在输出之后,我们才能获得增加的间距,以便将命令+输出对与下一个命令+输出清楚地分开。
我在终端中运行的大多数事情都需要很长时间来计算,我希望 bash 在输入终端的每个命令结束时输出一个时间报告。有什么我可以放入我的 bashrc 来做到这一点的吗?
例子:
$ find / -ls
<find / -ls return info>
start time = 10:21:54 | end time = 10:31:34 | time lapsed = 00:10:20
$
Run Code Online (Sandbox Code Playgroud)
或者
$ make all
<make all return info>
start time = 10:21:54 | end time = 10:31:34 | time lapsed = 00:10:20
Run Code Online (Sandbox Code Playgroud)
能够为像 cd 这样的命令添加一个例外列表会很好,但它不会真正打扰我。
bash ×4
time ×3
audio ×1
bashrc ×1
command-line ×1
profiling ×1
shell ×1
shell-script ×1
terminal ×1
ubuntu ×1