我可以将参数传递给外部Beanshell脚本,该脚本来自另一个Beanshell脚本吗?

时间:2011-08-26 07:35:41

标签: java scripting beanshell

我试图弄清楚如何将参数传递给我从初始脚本调用的第二个脚本。 Beanshell文档没有提到这一点。有谁知道怎么做?

// Start.bsh
import bsh.Interpreter;
Interpreter i = new Interpreter();
i.source("Target.bsh");

// Target.bsh
System.out.println("No. of arguments are: " + args.length);
for(int i= 0;i < args.length;i++) {
  System.out.println("Argument " + i + " is : " + args[i]);
}

1 个答案:

答案 0 :(得分:5)

AFAIK,您无法通过i.source("file.bsh")传递命令行参数。你需要做这样的事情:

Interpreter i = new Interpreter();
NameSpace ns = i.getNameSpace();
ns.setVariable("args", new String[]{"param1", "param2"}, false);
i.source("Target.bsh");