我通过以下代码使用 XUL 在命令提示符下成功执行了命令和 .bat 文件:
Components.utils.import("resource://gre/modules/FileUtils.jsm");
var env = Components.classes["@mozilla.org/process/environment;1"]
.getService(Components.interfaces.nsIEnvironment);
var shell = new FileUtils.File(env.get("COMSPEC"));
var args = ["/c", "cd C:/ffmpeg/bin & record.bat"];
var process = Components.classes["@mozilla.org/process/util;1"]
.createInstance(Components.interfaces.nsIProcess);
process.init(shell);
process.runAsync(args, args.length);
但是现在我将 .bat 文件更改为 .sh 文件以在 Ubuntu 上运行,并且需要使用相同的代码在终端中运行命令,所以我需要将环境变量“COMSPEC”更改为适用于终端的东西,我发现它是“ TERM”但没有用。
是否有任何其他环境变量或方法来完成此任务?