我正在运行 OSX 10.6 Snow Leopard,已下载 rhino1_7R2 并将其移至 /usr/local/
然而,我知道(虽然这会阻止它被操作系统更新更改)这可能不是它的最佳位置,并想象它可能需要连接到 Java 安装。
我对 Rhino 的预期用途是从终端命令行运行 JavaScript,我正在寻求帮助,因为我相信我缺乏 Java 知识来快速解决这个问题。
我将不胜感激任何帮助或建议链接,
谢谢保罗
我正在运行 OSX 10.6 Snow Leopard,已下载 rhino1_7R2 并将其移至 /usr/local/
然而,我知道(虽然这会阻止它被操作系统更新更改)这可能不是它的最佳位置,并想象它可能需要连接到 Java 安装。
我对 Rhino 的预期用途是从终端命令行运行 JavaScript,我正在寻求帮助,因为我相信我缺乏 Java 知识来快速解决这个问题。
我将不胜感激任何帮助或建议链接,
谢谢保罗
我之前没用过Rhino,只是很快从Mozilla 拿了1.7R2 试用了一下。它似乎是一个标准的 Java jar 可执行文件。与 Java 相比,它的位置无关紧要(应该如此)。
在您的情况下,您需要做的就是运行它,如下所示(来自 Terminal.app):
java -jar /usr/local/rhino1_7R2/js.jar
我注意到这个特定的程序实际上是启动一个交互式 JS shell,这可能不是你想要的(但它可能是),但如果你用 -help 运行它,你会看到它的完整用法:
java -jar /usr/local/rhino1_7R2/js.jar -help
请注意,从 Java 6 开始,脚本 API 已内置在标准 Java 库中,您真的不再需要像 Mozilla Rhino 这样的第三方库了。(事实上,Java 6 中的脚本 API 是 Mozilla Rhino 的改编版本)。
请参阅包的API 文档javax.script
并参阅:Java 平台脚本。
Mac OS X 10.6 (Snow Leopard) 上的默认 Java 版本是 Java 6,因此您应该能够使用标准脚本 API 而无需安装任何特殊的东西。
注意:我发现它安装在我的 Mac 上,但由于某种原因它不在 PATH 中,所以如果我在终端中jrunscript
输入它就找不到它。jrunscript
在我的文件系统中,它在这里:
/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Commands/jrunscript
正如其他答案和评论中提到的 jrunscript ,它是一个方便的工具,但它不支持完整的 Javascript 1.5。
$ jrunscript -q
Language ECMAScript 1.6 implemention "Mozilla Rhino" 1.6 release 2
从 Rhino 1.6R6 开始完全支持 Javascript 1.5,Rhino 1.7 支持 JavaScript 1.7。
Rhino 1.6Rx 应该支持 E4X,但奇怪的是这个简单的例子在 jrunscript 中失败了:
$ jrunscript -e 'toto = <tata/>'
script error: sun.org.mozilla.javascript.internal.EvaluatorException: erreur de
syntaxe (<string>#1) in <string> at line number 1
而且我在让 jrunscript 与 John Resig 的env.js一起工作时遇到了麻烦(它允许在 Rhino 脚本中加载 jQuery、Prototype 和其他库),因为 1.6R2 没有实现 get & set 属性(它们是在 1.6R6 IIRC 中添加的) .
更多关于 Rhino 版本的信息在这里:
所以我认为 Rhino 1.7R2 更适合你,因为你已经有了它。只需使用别名或其他东西来缩短命令行。