Да, чтобы ответить на ваш вопрос, можно использовать JavaScript как «обычный» язык сценариев из командной строки без браузера. Поскольку другие еще не упомянули об этом, я вижу, что стоит упомянуть:
В системах на базе Debian (как минимум, это Ubuntu, Linux Mint и aptosid / sidux), помимо опций установка Rhino и других уже упомянутых, у вас есть другие возможности:
libmozjs-24-bin
, который предоставит вам механизм Spidermonkey Mozilla в командной строке, как простой js24
, который может использоваться также как интерактивный интерпретатор. (24
в названии означает, что он соответствует версии 24 Firefox). libv8-dev
, который предоставит вам движок V8 от Google. В качестве одного из своих примеров он имеет файл /usr/share/doc/libv8-dev/examples/shell.cc.gz
, который вы можете просто распаковать и скомпилировать (например, g++ -Os shell.cc -o shell -lv8
). nodejs
и он будет доступен как исполняемый файл nodejs
, так и альтернатива (в смысле Debian), чтобы предоставить исполняемый файл js
. Компиляция JIT предоставляется в соответствии с V8. libjavascriptcoregtk-3.0-bin
и используйте интерпретатор JavaScriptCore WebKit (jsc
) в качестве обычного интерпретатора из командной строки. И это без необходимости иметь доступ к 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!
$