Question

Je dois passer le paramètre à distant script BeanShell qui est géré par

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

appel.

Est-il possible de lire une certaine façon params de la p1 ', 'p2' et 'p3' à partir du script.bsh?

p.s. params locales en passant par bsh.args fonctionne très bien, mais il est inutilisable avec des scripts à distance.

Était-ce utile?

La solution

Je suppose que, vous utilisez la bibliothèque beanshell . Il n'y a aucun moyen de le faire, selon les sources: l'utilitaire ne prend que deux arguments: l'URL et le nom du fichier de script local. Il ne même supporte pas plusieurs noms de fichiers de script, comme il prétendre.

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

devrait également être au courant sur les arguments passés du côté serveur.

Les moyens pour vous:

  1. Créez le modèle de script, dans lequel vous substituer les arguments du script et enregistrer le script de remplacement à température dir avant de passer à bsh.Remote
  2. Créer un fichier distant, où le script peut demander des arguments. Vous avez besoin de communication supplémentaire avec le site distant pour télécharger ce fichier avant d'appeler bsh.Remote.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top