Domanda

ho bisogno di passare parametri a a distanza di script BeanShell che è gestito attraverso

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

chiamata.

E 'in qualche modo possibile leggere params 'p1', 'P2' e 'p3' dall'interno del script.bsh?

P.S. params locali passando per bsh.args funziona bene, ma è inutilizzabile con script remoto.

È stato utile?

Soluzione

suppongo, che si sta utilizzando BeanShell biblioteca. Non c'è modo di farlo, secondo le fonti: il programma di utilità richiede solo 2 argomenti: l'URL e il nome del file script locale. E 'anche non supporta diversi nomi di file di script, in quanto affermano di.

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

Anche il lato server dovrebbe essere informati circa gli argomenti passati.

Le vie d'uscita per voi:

  1. Crea il modello di script, in cui dovrete sostituire gli argomenti per lo script e salvare lo script sostituto temp dir prima di passare al bsh.Remote
  2. Crea un file remoto, in cui lo script in grado di leggere gli argomenti da. Hai bisogno di ulteriore comunicazione con il sito remoto per caricare il file prima di chiamare bsh.Remote.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top