给出一个简单的bash脚本,我想有一个简单的方法来根据一些变量调用bash脚本后台任务。 我想到了
PARALLEL='&'
./foo.sh $PARALLEL
但这不起作用,因为它可能被解释为一个论点。是否有可能(或黑客)做出类似的工作?不必是干净的代码......
答案 0 :(得分:3)
使用if
:
if [[ ... ]]; then
./foo.sh &
else
./foo.sh
fi
将...
部分替换为条件,例如"$runParallel" = TRUE
。
如果您的命令长于./foo.sh
,建议将其包装在函数中并在if
内调用该函数。
使用eval
:
eval ./foo.sh "$parallel"
parallel='&'
,命令将在后台运行。parallel=
,命令将在前台运行,./foo.sh
(根据需要)没有参数(甚至不是空参数)。parallel='$(rm -rf ~)'
您的主目录将被删除:)答案 1 :(得分:0)
您可以检查是否存在<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<!-- Register resources and providers under com.prom.via.rest.dto package. -->
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.prom.via.rest.dto</param-value>
</init-param>
</servlet>
变量,并相应地调用脚本:
$PARALLEL
这不完全是你正在寻找的东西,但是你说黑客很好,所以我想我会提供替代方案。