我们在/目录下创建一个dir文件夹
sudo mkdir /dir
这个时候终端会提示我们输入密码
一般我们就是手动正确输入密码后就会在根目录下创建一个dir文件夹
但是现在我们要利用expect在脚本里自动输入密码
首先安装expect相关的东东
sudo apt-get install tcl
sudo apt-get install expect
接着我们在~/下创建一个a.exp文件
ubuntu@flm$ gedit a.exp&
#!/usr/bin/expect
set timeout 20set passwd "3"
set passwderror 0
spawn sudo mkdir /flm
expect {
"*assword*:*" {
if { $passwderror == 1 } {
puts "passwd is error"
exit 2
}
set timeout 1000
set passwderror 1
send "$passwd\r"
exp_continue
}
"*es/no)?*" {
send "yes\r"
exp_continue
}
timeout {
puts "timeout"
exit 3
}
}
然后修改文件的执行权限
sudo chmod 777 a.exp
然后执行
./a.exp
就可以在/下创建一个dir文件夹了
注意如果想要在expect脚本里面去执行另外一个shell脚本,可以将这里的
spawn sudo mkdir /flm
换成
spawn sh shell_script_file
shell_scrpit_file 就是脚本的路径