代码之家  ›  专栏  ›  技术社区  ›  andrej Ruchir Dixit

将参数传递给远程beanshell

  •  0
  • andrej Ruchir Dixit  · 技术社区  · 14 年前

    我需要将参数传递给 beanshell脚本,该脚本通过

    java -cp bsh-2.0b4.jar bsh.Remote http://10.0.0.1/beanshell script.bsh p1 p2 p3
    

    呼叫

    script.bsh ?

    bsh.args 工作正常,但无法与远程脚本一起使用。

    1 回复  |  直到 14 年前
        1
  •  0
  •   dma_k    14 年前

    我想,你正在使用 beanshell 图书馆。根据消息来源,没有办法做到这一点:该实用程序只接受两个参数:URL和本地脚本文件名。它甚至不支持几个脚本文件名,正如它声称的那样。

    public class Remote
    {
        public static void main( String args[] ) throws Exception
        {
              if ( args.length < 2 ) {
                       System.out.println("usage: Remote URL(http|bsh) file [ file ] ... ");
                       System.exit(1);
              }
              String url = args[0];
              String text = getFile(args[1]);
              int ret = eval( url, text );
              System.exit( ret );
        }
    

    服务器端还应该知道传递的参数。

    你的出路是:

    1. 创建脚本模板,在其中替换脚本的参数,并在传递到之前将替换脚本保存到temp dir bsh.Remote
    2. 创建一个远程文件,脚本可以从中读取参数。您需要与远程站点进行额外通信才能在调用之前上载此文件 远程 .