我想在bash中编写一个脚本,该脚本将保存到文件执行的时间
我希望输出看起来像这样:
1 minute
2 minute
...
答案 0 :(得分:0)
您需要安装time
(不是内置的shell)。
验证您是否拥有正确的:$ which time
这是预期的输出:
$ which time
/usr/bin/time
假设您有一个名为main
的函数,其中包含您的主脚本代码
function main() {
echo "Sleeping .."
sleep(5)
echo "This is the first arg: ${1}"
echo "This is the second arg: ${2}"
}
要对此函数调用进行计时,请执行以下操作(参数参考):
main "HELLO" "WORLD" | $(which time) -o "OUTPUT_FILENAME_FOR_TIME" -f "%e" $(which bash)
我们将 / usr / bin / time 传递给函数调用以计时。我们使用time
调用$(which time)
,因为我们不希望内置shell。之后我们传递-o
参数来定义输出文件,然后-f
参数用于定义时间格式。在我的示例中,我使用秒。最后,我们传递了我们正在使用的shell,在我们的例子中,我们使用的是bash,所以$(which bash)
。
man time
阅读其他格式,当然还有正确使用该程序我总是使用秒,因为它更容易将它们转换为任何东西。
您可以使用GNU工具command
,而不是使用time
的绝对路径
$ command time
而不是
$ $(which time)