目标
我想在 nodejs 中显示图形密码提示以提升权限,从而获得将文件内容复制到另一个文件内容的权力,但最后一个归 root 所有。
在实现中,我尝试与函数dd
一起执行它的参数。gksudo
exec()
exec = require('child_process').exec
printall = function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error) {
console.log('exec err: ' + error);
}
}
exec("gksudo dd if=/home/user/minor.txt of=/home/user/major.txt", printall)
错误
但我总是失败,没有充分的理由。
它说,
stdout:
stderr:
exec err: Error: Command failed: /bin/sh -c gksudo dd if=/home/user/minor.txt of=/home/user/major.txt
如果我将命令复制到终端中,它会错过双引号而gksudo
只运行。好吧,在 nodejs 中,它只是失败了。
笔记
我最初开发 Atom 包。这是我第一次,所以,我发现了不同版本的 Node(或 IOJ?)。我在 Atom 中执行整个代码。
问题
如果你期待一个明确的问题,那么,可能
如何
gksudo
在 node.js 中执行以运行其他命令以及参数?