我有一个脚本hex.bat,它有:
#!/bin/bash
HEX_ROOT=.
HEX_COLOURS=./data
HEX_PDB=.
HEX_MACROS=.
HEX_CACHE=./data
time ./hex6i.x64 -kill -nogui -ncpu 1 -ngpu 1 -e dock.mac -l job.log
除时间外,所有输出都转到job.log
。我想在jog.log
中保存执行此脚本的持续时间。有没有人有任何线索?
提前致谢。
答案 0 :(得分:2)
time
将其输出写入标准错误,而不是标准输出,以便将报告放在不同的输出流中。例如,想要将输出写入文件的程序计时,而不将时间输出放入日志中,这是很常见的。
如果您确实希望时间输出进入日志,您有几个选择:
使用-o
的{{1}}和-a
选项将time
的输出写入日志文件。您的time
实施可能有也可能没有这些选项。
重定向标准错误:time
或time .... 2>> job.log
。前者写入同一个日志文件(通过追加);后者在标准输出的任何地方发送标准错误输出。请注意,两者都会影响2>&1
以及time
本身运行的程序。
答案 1 :(得分:1)
我使用了括号
#!/bin/bash
HEX_ROOT=.
HEX_COLOURS=./data
HEX_PDB=.
HEX_MACROS=.
HEX_CACHE=./data
(time ./hex6i.x64 -kill -nogui -ncpu 1 -ngpu 1 -e dock.mac -l job.log) &> job.log