这个问题已经在这里有一个答案:
- 如何给一个在bash提示命令提供密码? 7个回答
例如,说,如果我有一个剧本说:
#!/bin/bash
sudo setpci -s 00:02.0 F4.B=00
如何把root密码为脚本,以便它接受它作为密码时,它读取并执行sudo的线(所以我不必手动输入)?
这个问题已经在这里有一个答案:
例如,说,如果我有一个剧本说:
#!/bin/bash
sudo setpci -s 00:02.0 F4.B=00
如何把root密码为脚本,以便它接受它作为密码时,它读取并执行sudo的线(所以我不必手动输入)?
产卵的期待您的bash脚本中的会话通常是你如何自动化交互提示。
如
expect -c "
spawn sudo setpci -s 00:02.0 F4.B=00
expect -nocase \"password:\" {send \"$PASS\r\"; interact}
"
需要注意的是,因为它是一个巨大的安全漏洞来存储你的root密码在bash脚本这是不是在这种情况下推荐的方法。
正确的解决办法是编辑您/etc/sudoers/
不提示您为二进制密码。
#in /etc/sudoers
neohexane ALL=(ALL) NOPASSWD : /usr/bin/setpci