0

実行されるリモートBeanshellスクリプトにパラメータを渡す必要があります

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

電話。

どういうわけか、パラメータ「p1」、「p2」、および「p3」を?内から読み取ることは可能script.bshですか?

ps通過するローカルパラメータbsh.argsは正常に機能しますが、リモートスクリプトでは使用できません。

4

1 に答える 1

0

おそらく、 Beanshellライブラリを使用していると思います。ソースによると、そうする方法はありません。ユーティリティは、URLとローカルスクリプトファイル名の2つの引数のみを取ります。それが主張するように、それはいくつかのスクリプトファイル名さえサポートしません。

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

また、サーバー側は渡された引数について認識している必要があります。

あなたのための方法:

  1. スクリプトテンプレートを作成します。このテンプレートでは、スクリプトの引数を置き換え、代わりのスクリプトをtempdirに保存してからに渡します。bsh.Remote
  2. スクリプトが引数を読み取ることができるリモートファイルを作成します。を呼び出す前に、このファイルをアップロードするには、リモートサイトとの追加の通信が必要ですbsh.Remote
于 2010-02-08T16:56:56.670 に答える