我想执行我的JavaScript程序与Rhino shell没有使第一行#!/ bin/sh。 '#'不是javascript中的注释字符。我也不希望有一个.js扩展名。如何从Linux shell执行JavaScript程序?
这可能吗?我记得很久以前阅读了一些关于如何让java程序在没有显式解释器的情况下运行的方法。然而,谷歌并未出现。
我想执行我的JavaScript程序与Rhino shell没有使第一行#!/ bin/sh。 '#'不是javascript中的注释字符。我也不希望有一个.js扩展名。如何从Linux shell执行JavaScript程序?
这可能吗?我记得很久以前阅读了一些关于如何让java程序在没有显式解释器的情况下运行的方法。然而,谷歌并未出现。
更换你要使用的内核模块binfmt_misc
这一点。我没有安装一个JS解释,但我想魔术会是这样的犀牛:
# If it's not included in your kernel
sudo modprobe binfmt_misc
sudo mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc
# Register the .js extension as being run by Rhino
echo ':JSScript:E::js::/path/to/rhino:' > /proc/sys/fs/binfmt_misc/register
这是假定你的脚本很高兴能够像运行:
/path/to/rhino /path/to/your/script
如果你需要将任何参数传递给Rhino,那么你需要设置一个包装器。 binfmt_misc
的完整文档是here。
是的,只需拨打rhino /path/to/your/js/file
如果你没有一个程序rhino
在你的路径,与java org.mozilla.javascript.tools.shell.Main
并且不要忘记让脚本可执行。 – 2011-03-18 09:42:37
由于我希望能够在没有文件扩展名的情况下命名我的脚本,因此我还添加了:echo':javascript:M :: //!::/usr/bin/js:'>/proc/sys/fs/binfmt_misc /寄存器 – Will 2011-03-22 18:27:16