在groovy脚本中使用简单和双引号
我在groovy脚本中有以下代码:在groovy脚本中使用简单和双引号,groovy,Groovy,我在groovy脚本中有以下代码: script = ''' def val1 = 'val1' def val2 = 'val2' def cmd = """ cd /path/to/my/folder && python -c 'import MyClass; MyClass.my_method(\"${val1}\",\"${val2}\")' """ def proc = ["bash", "-c", command].execute() proc.waitFor
script = '''
def val1 = 'val1'
def val2 = 'val2'
def cmd = """ cd /path/to/my/folder && python -c 'import MyClass; MyClass.my_method(\"${val1}\",\"${val2}\")'
"""
def proc = ["bash", "-c", command].execute()
proc.waitFor()
print proc.in.text
''';
我想在脚本之外使用参数:
def val1 = 'val1'
def val2 = 'val2'
script = '''
def cmd = """
cd /path/to/my/folder && python -c 'import MyClass; MyClass.my_method(\"${val1}\",\"${val2}\")'
"""
def proc = ["bash", "-c", command].execute()
proc.waitFor()
print proc.in.text
''';
def val1 = 'val1'
def val2 = 'val2'
script = """
def cmd = """
cd /path/to/my/folder && python -c 'import MyClass; MyClass.my_method(\"${val1}\",\"${val2}\")'
"""
def proc = ["bash", "-c", command].execute()
proc.waitFor()
print proc.in.text
""";
我试图结合简单和双三重报价,但它不工作,你有什么想法我可以解决这个问题
我想在脚本之外使用参数:
def val1 = 'val1'
def val2 = 'val2'
script = '''
def cmd = """
cd /path/to/my/folder && python -c 'import MyClass; MyClass.my_method(\"${val1}\",\"${val2}\")'
"""
def proc = ["bash", "-c", command].execute()
proc.waitFor()
print proc.in.text
''';
def val1 = 'val1'
def val2 = 'val2'
script = """
def cmd = """
cd /path/to/my/folder && python -c 'import MyClass; MyClass.my_method(\"${val1}\",\"${val2}\")'
"""
def proc = ["bash", "-c", command].execute()
proc.waitFor()
print proc.in.text
""";
我想知道这是否是您需要的:外部三个双引号以启用占位符替换
def val1 = 'val1'
def val2 = 'val2'
script = """
def cmd = '''
if cd /path/to/my/folder; then
python -c 'import MyClass; MyClass.my_method("${val1}","${val2}")'
fi
'''
def proc = ["bash", "-c", command].execute()
proc.waitFor()
print proc.in.text
"""
很难说清楚你需要什么,但像这样的事情会更有意义
def val1 = 'val1'
def val2 = 'val2'
def cmd = "cd /path/to/my/folder && python -c 'import MyClass; MyClass.my_method(${val1},${val2})'"
script = """\
def proc = ["bash", "-c", ${cmd}].execute()
proc.waitFor()
print proc.in.text
"""
如果你真的想在cmd中使用双引号的话,也许是这样
我希望这会有所帮助。我想在脚本之外使用参数是什么意思?