Parameter an entfernten Beanshell Passieren
-
19-09-2019 - |
Frage
Ich brauche Parameter zu übergeben Remote Beanshell-Skript, das durch
ausgeführt wirdjava -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.
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:
- 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 - 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