expect是乙個用來實現自動互動功能的軟體套件, 是基於tcl的指令碼程式設計工具語言
首先 要安裝expect 直接使用yum安裝即可
yum install expect -y
每次我們進行ssh連線時都需要輸入密碼 而且首次需要輸入yes來確認
[root@alice ~]# ssh -p 22 [email protected] "hostname -i"
the authenticity of host '[149.28.24.71]:1205 ([149.28.24.71]:1205)' can't be established.
rsa key fingerprint is sha256:kkgl7c0z+14zektydw1qhny9ktpwkh62+u1tx+hollc.
rsa key fingerprint is md5:30:2b:0f:51:a7:ac:b8:83:b3:d0:38:65:4b:90:9f:a5.
are you sure you want to continue connecting (yes/no)? yes
warning: permanently added '[149.28.24.71]:1205' (rsa) to the list of known hosts.
[email protected]'s password:
149.28.24.71 2001:19f0:7001:7ee:5400:1ff:fef1:9fe5
這種情況 我們就可以用expect來實現自動互動
**如下:
[root@alice expect]# cat ssh.ex 擴充套件名為ex 代表是expect指令碼
#!/usr/bin/expect
spawn ssh -p 22 [email protected] "hostname -i" 執行ssh命令 (開頭需要有spawn 否則無法正常執行)
expect 利用expect獲取執行上述執行命令輸出的字串是否為期待的字串"yes/no" 如果是 則傳送yes ,這裡的/n為換行
"password:" ; 利用expect獲取執行上述執行命令輸出的字串是否為期待的字串"password" 如果是 則傳送123456 ,
}interact 處理完畢後結束標識
自動互動式指令碼 expect簡介
我們經常會遇到一些需要與伺服器程式打交道的場景,比如,從登陸某個伺服器,然後進行某項工作。這很平常,但是如果把這個工作自動化進行,你就需要乙個程式能自動做你要告訴機器的事情,這樣,我們的expect就能大顯身手了。首先,expect是乙個簡單的工具語言,如要工作就是進行自動化的人機互動。它的作者對e...
Linux Shell互動式自動化運維程式
expect 是linux作業系統下的乙個用來處理互動操作,系統預設是沒有安裝expect庫,所以執行expect會提示找不到命令,需要手動安裝,其它安裝也比較簡單,可以通過二進位制原始碼包編譯配置進行安裝,也可以通過網路借助yum源來安裝,yum源安裝比較簡單 我們下面借助expect庫來實現li...
Linux Shell互動式自動化運維程式
expect 是linux作業系統下的乙個用來處理互動操作,系統預設是沒有安裝expect庫,所以執行expect會提示找不到命令,需要手動安裝,其它安裝也比較簡單,可以通過二進位制原始碼包編譯配置進行安裝,也可以通過網路借助yum源來安裝,yum源安裝比較簡單 我們下面借助expect庫來實現li...