我正在使用 shelljs 模块在节点中为服务器端程序执行 bash 文件。我什至尝试过子进程模块来执行 bash 文件。在这两种情况下,我都收到了权限被拒绝错误。我正在使用linux(ubuntu disto)。这是代码片段。
var shell = require("shelljs");
var cp = require("child_process");
shell.exec('../scripts/test.sh');
cp.exec('../scripts/test.sh', (error, stdout, stderr) => {
console.log(stdout);
console.log(stderr);
if (error !== null) {
console.log(`exec error: ${error}`);
}
});
这是文件结构。
|-Parent file
|-routes
--file containing the above javascript code
|-scripts
--test.sh
这是错误。
/bin/sh: 1: ../scripts/test.sh: Permission denied
/bin/sh: 1: ../scripts/test.sh: Permission denied
exec error: Error: Command failed: ../scripts/test.sh
/bin/sh: 1: ../scripts/test.sh: Permission denied
谁能建议我为什么会发生此错误以及如何解决?
注意-我没有在 test.sh 中使用任何 sudo 命令。只是一个简单的 echo 命令,例如 echo "Hello World"