nashorn을 사용하여 Java에서 bash 쉘 명령을 실행해야합니다. 나는 다음과 같은 오류가 위의 방법을 실행에자바에서 nashorn을위한 스크립팅 모드 활성화
public void executeScript(){
ScriptEngineManager engineManager = new ScriptEngineManager();
ScriptEngine engine = engineManager.getEngineByName("nashorn");
engine.eval(new FileReader("script.js"));
Invocable invocable = (Invocable)engine;
invocable.invokeFunction("testBashMethod");
}
:
#!/usr/bin/jjs
var testBashMethod = function(name){
$EXEC("echo Hello from bash ${name}");
};
testBashMethod("foobar");
내가 자바 방법 Nashorn 엔진에 자바 스크립트 위의 방법을로드하고 실행이 :
나는 자바 스크립트 파일이 :jdk.nashorn.internal.runtime.ECMAException: ReferenceError: "$EXEC" is not defined
내 생각 엔 nashorn engi ne의 스크립트 모드. 내가 스크립팅 모드 엔진을 실행할 수있는 터미널에 는 다음이 성공적으로 실행 :
jjs -scripting
jjs> $EXEC('echo Hello World..!!')
내 질문 :가 어떻게 스크립트 모드에서 자바의 nashorn 엔진을로드 할 수 있습니까? bash 스크립팅 방법을 사용할 수 있습니다. 아니면 제가 놓친 다른 것이 있습니다.
도움 주셔서 감사합니다.