使用了shell脚本和expect脚本写了个可以自动输入sudo密码的程序,但是除了点问题请教

sh/bash/dash/ksh/zsh等Shell脚本
回复
散吧散吧
帖子: 3
注册时间: 2011-07-14 12:53

使用了shell脚本和expect脚本写了个可以自动输入sudo密码的程序,但是除了点问题请教

#1

帖子 散吧散吧 » 2013-10-31 11:41

我在ubuntu12.04下做嵌入式开发,自己写了个可以直接编译并且下载程序到开发板子的脚本,因为其中的下载的相关程序,必须是在root下设置环境变量后运行,但是在shell脚本中使用sudo su之后需要输入密码,于是网上百度了下,我使用了expect脚本调用,现在的代码是这样的

代码: 全选

expect -f install.exp
export PATH=$PATH:/home/xiaofei/stm32/stlink/
st-flash erase #和程序在下载有关的命令
read ENTER
EOF
这是compile.sh文件,然后在在这个文件里面调用install.exp文件
这是install.exp文件

代码: 全选

#!/usr/bin/expect -f
set timeout 60
spawn sudo sudo su
expect "password for xiaofei:"
send "20132013\r"
interact
下面的是运行结果
运行结果.png
可以看到在执行完成expect脚本之后他就把控制权利交给终端了没有继续执行我后面的程序
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 使用了shell脚本和expect脚本写了个可以自动输入sudo密码的程序,但是除了点问题请教

#2

帖子 eexpress » 2013-10-31 11:43

sudo -S 吧
● 鸣学
散吧散吧
帖子: 3
注册时间: 2011-07-14 12:53

Re: 使用了shell脚本和expect脚本写了个可以自动输入sudo密码的程序,但是除了点问题请教

#3

帖子 散吧散吧 » 2013-10-31 12:09

eexpress 写了:sudo -S 吧
我试过了没用啊。。。
头像
needle
帖子: 78
注册时间: 2009-12-01 13:34

Re: 使用了shell脚本和expect脚本写了个可以自动输入sudo密码的程序,但是除了点问题请教

#4

帖子 needle » 2013-11-01 18:09

映像里, expect是模拟交互的~
人家说的sudo -S是
echo 'password' | sudo -S pwd
这样子.
myshell^_^
xfce4.10最好用了……
舒适的滚轮升起焦点设计,大量快捷键,alt移动,糟糕的桌面图标……
珍爱生命,LFS 三思~
头像
iceveil
帖子: 34
注册时间: 2013-12-27 11:49
系统: ubuntu 13.10

Re: 使用了shell脚本和expect脚本写了个可以自动输入sudo密码的程序,但是除了点问题请教

#5

帖子 iceveil » 2013-12-29 10:28

散吧散吧 写了:
eexpress 写了:sudo -S 吧
我试过了没用啊。。。

代码: 全选

#!/bin/sh
echo "pwd" | sudo -S echo
sudo -i
运行后直接进入root 在后面使用要运行的脚本就好了
$ sudo apt-get install wife

正在读取软件包列表...
完成

正在分析软件包的依赖关系树

正在读取状态信息...
完成

下列软件包有不能满足的依赖关系:

wife: 依赖: house 但是它将不会被安装

wife: 依赖: car 但是它将不会被安装

house,car: 依赖: money 但是它将不会被安装

Error: wife无法被安装
回复