Pregunta

necesito para pasar parámetros a remoto script de beanshell que se ejecuta a través

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

llamada.

¿Es posible leer alguna manera params 'P1', 'P2' y 'P3' desde dentro de la script.bsh?

p.s. params locales pasando por bsh.args funciona bien, pero es inutilizable con secuencias de comandos remoto.

¿Fue útil?

Solución

supongo que está utilizando beanshell biblioteca . No hay manera de hacerlo, según las fuentes: la utilidad tarda sólo 2 argumentos: el URL y el nombre del archivo script local. Incluso no es compatible con varios nombres de archivo de secuencia de comandos, ya que dicen.

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 );
    }

También el lado del servidor debe ser consciente de los argumentos pasados.

Las vías de salida para usted:

  1. Crear la plantilla de la escritura, en la que va a sustituir a los argumentos a favor de la secuencia de comandos y guardar el guión sustituto de directorio temporal antes de pasar a bsh.Remote
  2. Crea un archivo remoto, donde la secuencia de comandos puede leer argumentos de. Es necesario comunicación adicional con el sitio remoto para cargar este archivo antes de llamar bsh.Remote.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top