Основна відповідь
Так, щоб відповісти на ваше запитання, можна використовувати JavaScript як "звичайну" мову скриптів з командного рядка, без браузера. Оскільки інші ще не згадували про це, я бачу, що варто згадати:
У системах, що базуються на Debian (і це включає принаймні Ubuntu, Linux Mint та aptosid / sidux), окрім варіантів встановлення Rhino та інших, що вже згадуються, у вас є інші варіанти:
Встановіть libmozjs-24-bin
пакет, який надасть вам движок Mozilla Spidermonkey в командному рядку як простий 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!
$