有没有办法从使用独立解释器的javascript运行linux命令(类似于SpiderMonkey,JavaScript shell)?
答案 0 :(得分:8)
答案 1 :(得分:7)
您可以使用NodeJS。它有一个可以运行任意命令的child_process模块。例如。 child_process.spawn()
当您的脚本完成后,您可以这样运行:
node myscript.js
答案 2 :(得分:2)
可以定义JS函数来调用可能使用system()
调用的C / C ++函数,执行一些linux命令。
蜘蛛猴的方式:https://developer.mozilla.org/en/JavaScript_C_Engine_Embedder's_Guide#Native_functions
Google V8也是一个选项:http://code.google.com/apis/v8/embed.html#accesssors
所以你会有
system('rpm -i myapp.rpm');
system('rpm -i myapp2.rpm');
或者
install('myapp.rpm');
install('myapp2.rpm');
答案 3 :(得分:0)
Rhino提供了一个用Java编写的JavaScript解释器,可以从命令行调用。如果您需要浏览器模拟器,请尝试Envjs。
Rhino无法执行命令,但您可以使用org.mozilla.javascript.ScriptableObject.defineFunctionProperties()
定义一个新函数,该函数调用一些Java代码,您可以使用ProcessBuilder
[编辑]由于JavaScript是一种解释型语言,因此您需要一名翻译。要运行解释器,您需要一些其他语言。 Linux没有一个内置的(就像shell脚本或类似的一样)。
如果您需要编写脚本,请使用Bash或(对于更复杂的脚本)Python。