【发布时间】:2017-10-14 15:06:51
【问题描述】:
对 bash 很陌生 - 我正在尝试将 /usr/bin/time 命令的输出存储到 TIME_INFO 变量中,该变量适用于以下设置...但是我也希望能够存储其他一些嵌套命令(例如 /usr/local/bin/firejail 或 ./program)的输出到其他变量。目前,如果 ./program 中存在运行时异常,它也会转到 TIME_INFO 变量。
TIME_INFO=$( /usr/bin/time --quiet -f "%e-%U-%S-%M-%x" 2>&1 \
timeout 5s \
/usr/local/bin/firejail --quiet --cgroup=/sys/fs/cgroup/memory/group1/tasks --profile=java.profile \
./program < test.in > test.out )
有没有办法实现多个嵌套命令的输出分离?
提前致谢!
【问题讨论】:
-
这对于临时文件来说无疑是最简单的。你对它们的使用还满意吗?
-
是的,我只是使用数据来汇总脚本运行的每个进程的信息,这样就可以了。
-
请参阅capture stdout and stderr in different variables,了解密切相关的操作是什么样子没有使用临时文件。
-
如果您不是在寻找错误,在
$(...)中执行2>&1可能不是一个好主意。 -
@MadPhysicist 抱歉,我有点不清楚 - 根据手册页,时间命令默认输出到 stderr。