2010-02-08 2 views
0

나는전달하는 매개 변수는 원격으로 Beanshell

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

호출을 통해 실행되는 원격으로 Beanshell 스크립트에 매개 변수를 전달해야합니다.

script.bsh에서 'p1', 'p2'및 'p3'매개 변수를 읽을 수 있습니까?

p.s. bsh.args을 통과하는 로컬 매개 변수는 정상적으로 작동하지만 원격 스크립팅에서는 사용할 수 없습니다.

답변

0

나는 beanshell 라이브러리를 사용하고 있다고 가정합니다. 근원에 따르면 그렇게 할 방법이 없다 : 유틸리티는 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. 이 스크립트 템플릿을 생성하는 스크립트의 인수를 대체하고 디렉토리 임시로 대체 스크립트를 저장 bsh.Remote
  2. 에 전달하기 전에 원격 파일을 만듭니다 여기서 스크립트는 인수를 읽을 수 있습니다. bsh.Remote으로 전화하기 전에이 파일을 업로드하려면 원격 사이트와 추가 통신이 필요합니다.