在我的Grails应用程序中,我正在尝试调用脚本文件夹
下的脚本控制器代码
def invokeScript(){
def bg= ["groovy","scripts/masterScript.groovy", request.JSON]
bg.execute();
render("Script Invoked")
}
masterScript.groovy
println("Master Script Invoked with arguements " + args[0]);
预期输出
在控制台上:"使用争论调用的主脚本" 响应:调用脚本
实际输出
控制台上没有打印消息,但响应准确无误"脚本调用"
如果我从命令提示符显式调用masterScript,它可以正常工作并在控制台上打印。
请帮助并澄清以下内容
答案 0 :(得分:1)
.execute()
返回Process个实例,它具有访问输出,错误和状态代码的方法。
因此回答“1”:因为您没有将命令的输出复制到控制台。请参阅文档:http://www.groovy-lang.org/groovy-dev-kit.html#process-management
对于'2':你不能,因为你把脚本称为外部过程。如果要评估Groovy脚本,而不是调用普通外部命令,最好使用GroovyScriptEngine