Expect自動化互動式程式

2021-09-13 12:25:21 字數 1267 閱讀 4526

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...