当前位置: 技术问答>linux和unix
如何在bash脚本中执行sudo时自动输入用户密码?
来源: 互联网 发布时间:2017-04-08
本文导语: 例如: ./configure --prefix=/usr --with-contrib-plugins=all,-byogames,-Cccc,-cbkoders,-codesnippets,-copystrings,-envvars,-headerfixup,-libfinder,-NassiShneiderman,-exporter make -j2 sudo make install read -n1 -p "Press any key to continue..." 其中有一条指令为...
例如:
其中有一条指令为:sudo make install
那么,在执行这一指令时是需要输入用户密码的,这里就避免不了存在交互。
如何实现此时自动输入密码?
或者让只在这一次sudo无需输入密码?
./configure --prefix=/usr --with-contrib-plugins=all,-byogames,-Cccc,-cbkoders,-codesnippets,-copystrings,-envvars,-headerfixup,-libfinder,-NassiShneiderman,-exporter
make -j2
sudo make install
read -n1 -p "Press any key to continue..."
其中有一条指令为:sudo make install
那么,在执行这一指令时是需要输入用户密码的,这里就避免不了存在交互。
如何实现此时自动输入密码?
或者让只在这一次sudo无需输入密码?
|
make.ep
#chmod +x make.ep
make.sh
#!/usr/bin/expect
set timeout 3600
spawn sudo make install
expect "Password:"
send "feir"
interact
#chmod +x make.ep
make.sh
#!/bin/sh
./configure --prefix=/usr --with-contrib-plugins=all,-byogames,-Cccc,-cbkoders,-codesnippets,-copystrings,-envvars,-headerfixup,-libfinder,-NassiShneiderman,-exporter
make -j2
./make.ep
|
貌似有个方法是使用expect。。
|
前几天看了一个脚本说,许多ssh翻墙的为了实现掉线自动登录,通常用expect来实现交互情况下密码的输入
http://blog.csdn.net/Lethe1989/archive/2010/01/25/5253155.aspx
http://blog.csdn.net/Lethe1989/archive/2010/01/25/5253155.aspx
|
echo "你的密码" |sudo make install
这样?
这样?
|
visudo
|
就听说过expect,还没用过,长见识了
|
长见识了!
|
sudo make install