我正在尝试通过SSH从Node运行命令行执行,但是在以root特权运行时遇到问题。
const util = require('util')
const exec = require('child_process').exec
function set(pin, state) {
exec('sudo bash -c "do something"', (error, stdout, stderr) => {
if (error) console.log('code', error.code)
})
}
当我尝试不使用sudo命令运行时,它会以Code 1
退出。
由于最终我想在API端点收到请求时运行此脚本,因此我想像exec('command', 'password', (err, stdout, err)...
我可以向exec
函数输入密码以防止出现命令行提示吗?
答案 0 :(得分:1)
尝试一下:
echo 'password' | sudo -S command
请注意,您的密码将存储在历史记录中。