使用我指定的应用程序任务:
applicationDefaultJvmArgs = ['$DEBUG_OPTS',
'-Djava.library.path=${ZMQ_LIB_PATH}']
在生成的启动脚本中,我看到:
DEFAULT_JVM_OPTS='"\$DEBUG_OPTS" "-Djava.library.path=\${ZMQ_LIB_PATH}"'
我不希望\$
在那里。我尝试使用'$$DEBUG_OPTS'
和'\$DEBUG_OPTS'
,但得到了相同的结果。什么是逃脱$
的正确方法,以便最终在脚本中没有反斜杠?
答案 0 :(得分:2)
我有类似的问题,尝试在那里添加一个命令行参数$ 1。随着一些谷歌搜索提出了这个解决方案,事后修复脚本。
applicationDefaultJvmArgs=['-Dmy.property=DOLLARONE']
...
startScripts{
doLast{
def bashFile = new File(getOutputDir(),applicationName)
String bashContent = bashFile.text
bashFile.text = bashContent.replaceFirst('DOLLARONE', Matcher.quoteReplacement('$1'))
}
}
答案 1 :(得分:1)
StartScriptGenerator code暗示' $'将无条件地替换为' \ $'。
我认为您打算使用' $' shell参数扩展的字符,但我想指出这种用法(如果生成脚本的gradle任务允许)在bash和bat脚本之间不可互操作 - 在bash中它将用于shell参数扩展但是在蝙蝠它没有意义。