Frage

Ich brauche Parameter zu übergeben Remote Beanshell-Skript, das durch

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

Anruf.

Ist es irgendwie möglich params 'p1', 'p2' und 'P3' aus dem script.bsh zu lesen?

P. S. Lokale params durch bsh.args vorbei funktioniert gut, aber es ist nicht zur Benutzung mit Remote Scripting.

War es hilfreich?

Lösung

Ich nehme an, Sie verwenden Beanshell Bibliothek. Es gibt keine Möglichkeit, dies zu tun, nach Quellen: das Dienstprogramm dauert nur 2 Argumente: die URL und den lokalen Skript Dateinamen. Es ist auch nicht mehrere Skript-Dateinamen unterstützen, wie es zu erreichen.

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

Auch die Server-Seite sollte über die übergebenen Argumente bewusst sein.

Die Auswege für Sie:

  1. Erstellen Sie die Skriptvorlage, in dem Sie die Argumente für das Skript ersetzen werden und den Ersatz Skript temporäres Verzeichnis speichern, bevor Sie bsh.Remote vorbei
  2. Erstellen Sie eine Remote-Datei, in dem das Skript Argumente aus lesen kann. Sie benötigen zusätzliche Kommunikation mit Remote-Standort diese Datei zu laden, bevor bsh.Remote aufrufen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top