1

我正在尝试编写一个脚本

x =$ncore
numactrl -C $x ( time -p $exe ) > out.txt 2>&1

在终端上( time $ exe )> out.txt 2>&1 按我的意愿工作(out.txt 包含时间和可执行文件的输出)

我使用的是红帽 6.2,时间不是 GNU 版本(我假设 -a -o 选项不起作用)

我希望 out.txt 有可执行文件的输出,最后有 time 命令的输出。

bash 脚本给我带来了问题 ( 所以我使用 ( time -p $exe ),现在 numactl 看到 ( 作为可执行文件。

有没有办法一起使用 numactl 和 time 命令并获得我想要的输出?

4

1 回答 1

2

如果numactrl想要一个命令,但你想使用一些 shell 功能,只需给它 shell 作为命令:

numactrl -C $x bash -c "( time -p $exe ) > out.txt 2>&1"

当您time -p $exe从 bash 提示符或在 中运行时bash -c,您使用的是 bash 内置版本的 time。带有-o选项的是外部命令,因此要从 bash 中使用它,您必须指定command timeor/bin/time/usr/bin/time

如果你运行,numactrl -C $x time ...那么它可能会运行外部命令,所以-o在这种情况下应该可以工作,但如果不是,那么你总是有bash -c方法。

请注意,不同版本的输出格式不同time。GNU coreutils 版本比 bash 内置版本打印更多信息。

于 2012-07-25T23:04:18.870 回答