我编写了
一个bash脚本来在
后台运行服务并从脚本
退出到命令行.但是在运行eval命令之后,控件不会进入下
一个语句.
COMMAND="nohup java -jar jenkins.war"
echo "starting service"
eval $COMMAND
echo "service running"
exit
echo“服务运行”并且退出永远不会发生.我想在后台运行该进程,并在服务仍在运行时返回到命令提示符.我该怎么做呢?
请不要将带有参数的命令放在字符串中.将您的命令及其参数放在
一个数组中(并且不要使用大写的变量名,这是
一个非常糟糕的做法),并且不要使用eval. eval是邪恶的!
command=( nohup java -jar jenkins.war )
echo "starting service"
"${command[@]}" 2> /dev/null &
echo "service running"
&是让命令在后台运行.