我正在 bash 中动态构建一个命令。这很好用:
COMMAND="java myclass"
${COMMAND}
现在我想动态构造一个重定向输出的命令:
LOG=">> myfile.log 2>&1"
COMMAND="java myclass $LOG"
${COMMAND}
该命令仍会调用 java 进程,但输出不会重定向到 myfile.log
此外,如果我这样做:
BACKGROUND="&"
COMMAND="java myclass $BACKGROUND"
${COMMAND}
命令不在后台运行。
关于如何使日志重定向和后台位工作的任何线索? (bash -x 显示按预期构建的命令)
(实际上,不像这个例子,LOG和BACKGROUND的值是动态设置的)
最佳答案
您可以使用 eval
命令来完成:
eval ${COMMAND}
关于bash - 在 bash 中动态构建命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1715591/