質問

パラメータを渡す必要があります リモート 実行される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?

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

役に立ちましたか?

解決

あなたが使っているのは、 豆の殻 図書館。情報筋によると、そうする方法はありません。このユーティリティは引数を 2 つだけ受け取ります。URL とローカル スクリプト ファイル名。謳っているように、いくつかのスクリプト ファイル名さえサポートしていません。

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. スクリプト テンプレートを作成します。スクリプトの引数を置き換え、代替スクリプトを temp ディレクトリに保存してから、 bsh.Remote
  2. スクリプトが引数を読み取ることができるリモート ファイルを作成します。呼び出す前にこのファイルをアップロードするには、リモート サイトとの追加の通信が必要です bsh.Remote.
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top