我們在/目錄下創建一個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 就是腳本的路徑