我正在尝试编写一个
的脚本x =$ncore
numactrl -C $x ( time -p $exe ) > out.txt 2>&1
终端上的(时间$ exe)> out.txt 2>& 1按照我的意愿工作(out.txt包含时间和可执行文件的输出)
我正在使用红帽6.2并且时间不是GNU版本(我假设-a -o选项不起作用)
我想out.txt从可执行文件输出,最后输出时间命令。
bash脚本给我带来了问题(所以我使用了(time -p $ exe),现在numactl看到了(作为可执行文件。
有没有办法一起使用numactl和time命令并拥有我想要的输出?
答案 0 :(得分:2)
如果numactrl
想要一个命令,但你想使用一些shell功能,只需将它作为命令给它:
numactrl -C $x bash -c "( time -p $exe ) > out.txt 2>&1"
当您从bash提示符或time -p $exe
内运行bash -c
时,您正在使用bash内置版本的时间。具有-o
选项的选项是外部命令,因此要从bash中使用它,您必须指定command time
或/bin/time
或/usr/bin/time
。
如果你运行numactrl -C $x time ...
,它可能会运行外部命令,因此-o
应该适用于那种情况,但如果没有,那么你总是使用bash -c
方法。
请注意,time
的各种版本的输出格式不同。 GNU coreutils版本打印的信息比bash内置版本更多。