1 expect 簡介linux
expect 是用來進行自動化控制和測試的工具。主要是和交互式軟件telnet ftp passwd fsck rlogin ssh tip 等進行自動化的交互。對於大規模的linux 運維頗有幫助。expect sourceforge
2 expect最重要的四個命令運維
send:向進程發送字符串,用於模擬用戶的輸入。注意必定要加\r回車 expect:從進程接收字符串 spawn:啓動進程(由spawn啓動的進程的輸出能夠被expect所捕獲) interact:用戶交互
3 實例,ssh登錄交換機
#!/usr/bin/expect
set timeout -1
spawn ssh username@192.168.1.1 -p 22
expect {
"assword:" {send "mypassword\r";}
"yes/no" {send "yes\r";exp_continue}
}
expect ">"
send "su\r"
expect {
"Password:" {send "superpassword\r"}
"position." {}
"3-MANAGE" {}
}
interact
#exp_continue表示循環ssh