Javascript-интерпретатор для Linux

Есть ли способ запуска linux-команд из javascript, который использует автономный интерпретатор (что-то похожее на SpiderMonkey, оболочку JavaScript)?

Ответы

Ответ 1

jslibs - это автономный интерпретатор JavaScript, который работает на Linux32/64 и Windows.
Вы можете легко запускать команды linux через библиотеки, предоставленные jslibs.

Ответ 2

Вы можете использовать NodeJS. Он имеет модуль child_process, который может запускать произвольные команды. НАПРИМЕР. child_process.spawn()

Когда ваш script закончен, вы выполните его следующим образом:

node myscript.js

Ответ 3

Можно определить функции JS, которые будут вызывать ваши функции C/С++, которые могли бы использовать вызов system(), выполняя некоторые команды linux.

Итак, у вас будет

system('rpm -i myapp.rpm');
system('rpm -i myapp2.rpm');

или, возможно,

install('myapp.rpm');
install('myapp2.rpm');

Ответ 4

Rhino предлагает JavaScript-интерпретатор, написанный на Java, который можно вызывать из командной строки. Если вам нужен эмулятор браузера, попробуйте Envjs.

Rhino не может выполнять команды, но вы можете использовать org.mozilla.javascript.ScriptableObject.defineFunctionProperties() для определения новой функции, которая вызывает некоторый код Java, в котором вы можете создать новый процесс, используя ProcessBuilder

[EDIT] Поскольку JavaScript является интерпретированным языком, вам нужен интерпретатор. Для запуска интерпретатора вам нужен другой язык. Linux не поставляется с одним встроенным (например, для сценариев оболочки или аналогичных).

Если вам нужны сценарии, используйте Bash или (для более сложных скриптов) Python.