是否有一种方法可以从使用独立解释器的JavaScript(类似于SpiderMonkey,JavaScript Shell)运行Linux命令?
是否有一种方法可以从使用独立解释器的JavaScript(类似于SpiderMonkey,JavaScript Shell)运行Linux命令?
你可以使用NodeJS。它有一个child_process模块,可以运行任意命令。例如:child_process.spawn()
当你的脚本完成后,你可以这样运行它:
node myscript.js
system('rpm -i myapp.rpm');
system('rpm -i myapp2.rpm');
install('myapp.rpm');
install('myapp2.rpm');
Rhino提供了一个用Java编写的JavaScript解释器,可以从命令行调用。如果您需要浏览器仿真器,请尝试Envjs。
Rhino无法执行命令,但是您可以使用org.mozilla.javascript.ScriptableObject.defineFunctionProperties()
来定义一个新函数,该函数调用一些Java代码,在其中您可以使用ProcessBuilder
创建一个新进程。
[编辑]由于JavaScript是一种解释性语言,因此您需要一个解释器。为了使解释器运行,您需要其他语言。Linux没有内置的(像shell脚本或类似的那样)。
如果您需要脚本,请使用Bash或(对于更复杂的脚本)Python。