使用了shell脚本和expect脚本写了个可以自动输入sudo密码的程序,但是除了点问题请教
发表于 : 2013-10-31 11:41
我在ubuntu12.04下做嵌入式开发,自己写了个可以直接编译并且下载程序到开发板子的脚本,因为其中的下载的相关程序,必须是在root下设置环境变量后运行,但是在shell脚本中使用sudo su之后需要输入密码,于是网上百度了下,我使用了expect脚本调用,现在的代码是这样的
这是compile.sh文件,然后在在这个文件里面调用install.exp文件
这是install.exp文件
下面的是运行结果
可以看到在执行完成expect脚本之后他就把控制权利交给终端了没有继续执行我后面的程序
代码: 全选
expect -f install.exp
export PATH=$PATH:/home/xiaofei/stm32/stlink/
st-flash erase #和程序在下载有关的命令
read ENTER
EOF
这是install.exp文件
代码: 全选
#!/usr/bin/expect -f
set timeout 60
spawn sudo sudo su
expect "password for xiaofei:"
send "20132013\r"
interact