6

我正在运行 OSX 10.6 Snow Leopard,已下载 rhino1_7R2 并将其移至 /usr/local/

然而,我知道(虽然这会阻止它被操作系统更新更改)这可能不是它的最佳位置,并想象它可能需要连接到 Java 安装。

我对 Rhino 的预期用途是从终端命令行运行 JavaScript,我正在寻求帮助,因为我相信我缺乏 Java 知识来快速解决这个问题。

我将不胜感激任何帮助或建议链接,

谢谢保罗

4

3 回答 3

7

我之前没用过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
于 2009-09-28T01:10:31.867 回答
6

请注意,从 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

于 2009-09-28T08:33:18.433 回答
2

正如其他答案和评论中提到的 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 更适合你,因为你已经有了它。只需使用别名或其他东西来缩短命令行。

于 2009-11-09T15:52:43.980 回答