通过 nashorn jjs 执行 javascrit 文件时出错

通过 nashorn jjs 执行 javascrit 文件时出错

我可以在 bash 上执行 jjs

$ jjs
jjs> 

但我无法执行脚本

$ ./executable.js
/usr/bin/env: jjs -scripting: No such file or directory

可执行文件.js

#!/usr/bin/env jjs -scripting
print(
"Arguments (${$ARG.length})");
for each (arg in $ARG) {
  print("- ${arg}")
}

我怎样才能避免这个错误?

答案1

Nashorn 需要特定的语法,请更改您的脚本(检查shebang!):

#!/usr/bin/jjs -fv

print("Arguments: " + $ARG);
print($ARG);     // arg1, arg2
print($ARG[0]);  // arg1

执行时可以使用:

jjs -scripting asdf.js -- arg1 arg2

将打印:

Arguments: arg1,arg2
arg1,arg2
arg1

相关内容