我很抱歉,我是一个新手,对groovy不太熟悉。我的问题是我有三个不同功能的groovy脚本,我需要从我的主groovy脚本中调用它们,使用脚本1的输出作为脚本2的输入,脚本2的输出作为脚本3的输入。
我尝试了以下代码:
当我运行上述代码时,第一个脚本成功运行,但第二个根本没有运行。
脚本1使用“--p”、“$var”代码以int作为参数。在主脚本中成功运行:script.run(new File("script1.groovy"), "--p", "$var") - 脚本1的输出是一个xml文件。
当我在主groovy脚本中单独运行 script.run(new File("script2.groovy"), "<", "$var") 时,什么也不会发生,系统会挂起。
我可以使用 groovy script2.groovy < input_file 命令从命令行运行脚本2,并且它可以正常工作。
非常感谢您的帮助。
我尝试了以下代码:
script = new GroovyShell(binding)
script.run(new File("script1.groovy"), "--p", "$var" ) | script.run(new File("script2.groovy"), "<", "$var" )
当我运行上述代码时,第一个脚本成功运行,但第二个根本没有运行。
脚本1使用“--p”、“$var”代码以int作为参数。在主脚本中成功运行:script.run(new File("script1.groovy"), "--p", "$var") - 脚本1的输出是一个xml文件。
当我在主groovy脚本中单独运行 script.run(new File("script2.groovy"), "<", "$var") 时,什么也不会发生,系统会挂起。
我可以使用 groovy script2.groovy < input_file 命令从命令行运行脚本2,并且它可以正常工作。
非常感谢您的帮助。
def s1 = "groovy script1.groovy ${args.join( ' ' )}".execute()
对于2:应该可以直接使用(我想) - tim_yates