javascript - 在nodejs应用程序内执行bash命令(具有root访问权限)

标签 javascript node.js bash

我这里有一个小问题。 我有一个nodejs应用程序,应该在操作系统的bash中以root权限运行命令,例如

命令是: 回显“$密码”|/usr/bin/sudo/usr/bin/abc --key "$用户名"

这是我的代码:

const spawn = require('child_process').spawn;
function sendMessage() {
    let username = 'WhoLetTheDogsOut';
    let password = 'Woof!';
    const echo = spawn('echo', [ password ]);
    const abc = spawn('sudo', [ `/usr/bin/abc --key ${username}` ]);
}
sendMessage();

请帮忙。读完official Node child_process.spawn() doc后我没有明白我错在哪里我不断收到错误: gnokii stderr:sudo:/usr/bin/gnokii --sendsms +375293941196:找不到命令

最佳答案

希望这对你有帮助,它是 NPM“node-cmd”的一个包,你可以使用 Nodejs 在 bash 中运行命令,下面是一个示例:

var cmd=require('node-cmd');

cmd.get('echo '+password+' | /usr/bin/sudo /usr/bin/abc --key '+username,
    function(data){
        console.log('The result of the command:'+data)
    }
);

记住授予该文件权限(chmod),并在需要时像 root 一样运行该进程。

这是来源https://www.npmjs.com/package/node-cmd

关于javascript - 在nodejs应用程序内执行bash命令(具有root访问权限),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39752351/

相关文章:

javascript - Discord.js 如何每 5 秒编辑一次角色?

javascript - 如何从输入文本框的值动态添加 HTML 表格中的表格行

javascript - FileReader.readAsDataURL 上传到 express.js

linux - 如何让shell在每个用户输入命令之前执行命令

regex - Bash 正则表达式在句子中查找特定单词

regex - 在日期 Bash shell 脚本之前提取文件名

javascript - 如果集合不存在,如何在 firebase 中创建集合并向其中添加文档?

javascript - 页面滚动后更改元素的不透明度

mysql - Node.js MySQL 连接、查询顺序和事件循环

node.js - 快速验证未产生正确的错误