我正在编写一个bash脚本以在内部Java应用程序服务器中启动java类。但是,在下面的命令中,类名替换期间会出现一些(')。这使得启动失败,因为mvn需要某种格式的命令。额外'在bash脚本中导致mvn失败
#!/bin/bash -x
function launchClassInEngine {
CLASS_NAME=`echo \"launch-in-engine $1\"`
# echo as I would want it to "launch-in-engine MyClass"
echo ${CLASS_NAME}
# The problem starts here
# output: mvn '-Dclass="launch-in-engine' MyClass 'id=20"'
mvn -Dclass=\"launch-in-engine $1 $2\"
# so the problem is that while substituting the string at -Dclass= bash adds '
# I do not know how to fix this. Any idea or pointers
}
# Expect the below call to run
# mvn -Dclass="launch-in-engine MyClass id=20"
launchClassInEngine MyClass id=20
感谢您的帮助。
谢谢弗雷德。这有帮助。 – Kaps