主要答案
是的,要回答您的问题,可以在没有浏览器的情况下从命令行将JavaScript用作“常规”脚本语言。由于其他人还没有提到它,所以我认为值得一提:
在基于Debian的系统上(至少包括Ubuntu,Linux Mint和aptosid / sidux),除了安装Rhino和已经提到的其他选项外,还有其他选择:
安装该libmozjs-24-bin
软件包,它将在命令行上以简单的方式为您提供Mozilla的Spidermonkey引擎,该引擎js24
也可以用作交互式解释器。(24
名称中的表示它对应于Firefox的版本24)。
安装该libv8-dev
软件包,它将为您提供Google的V8引擎。作为示例之一,它具有/usr/share/doc/libv8-dev/examples/shell.cc.gz
可以非常简单地解压缩和编译的文件(例如g++ -Os shell.cc -o shell -lv8
)。
安装该软件包nodejs
,它将以可执行文件的形式提供,也可以nodejs
以其他方式(在Debian-sense中)提供js
可执行文件。JIT编译是V8提供的。
安装软件包,libjavascriptcoregtk-3.0-bin
并jsc
从命令行使用WebKit的JavaScriptCore解释器()作为常规解释器。而且,这不需要访问Mac。在许多平台(例如x86和x86_64)上,此解释器将带有JIT编译器。
因此,几乎没有任何编译,您将可以使用三个重量级的JavaScript引擎。
附录
一旦安装了东西,您可以简单地使用#!/usr/bin/js
shebang行创建文件,然后一切就可以正常工作:
$ cat foo.js
#!/usr/bin/js
console.log("Hello, world!");
$ ls -lAF /usr/bin/js /etc/alternatives/js /usr/bin/nodejs
lrwxrwxrwx 1 root root 15 Jul 16 04:26 /etc/alternatives/js -> /usr/bin/nodejs*
lrwxrwxrwx 1 root root 20 Jul 16 04:26 /usr/bin/js -> /etc/alternatives/js*
-rwxr-xr-x 1 root root 1422004 Apr 28 20:31 /usr/bin/nodejs*
$ chmod a+x foo.js
$ ./foo.js
Hello, world!
$ js ./foo.js
Hello, world!
$