Linux 命令 expect自動化互動程式

2021-09-14 04:12:48 字數 1191 閱讀 3228

expect是linux的自動化互動程式;expect從其他的互動式程式期望(expect)輸出,同時對所期望的輸出做出相應。

下面通過一段**來說明expect常用的命令。現在我們想通過ssh命令遠端登入一台機器, 同時在遠端主機上執行命令ls。**如下

1 #! /usr/bin/expect

2 set timeout 20

3 4 send_user "請輸入使用者名稱:\n"

5 expect_user -re "(.*)\n"

6 set username $expect_out(1,string)

7 8 send_user "請輸入主機名或ip:\n"

9 expect_user -re "(.*)\n"

10 set host $expect_out(1,string)

11 12 stty -echo

13 send_user "請輸入密碼:\n"

14 expect_user -re "(.*)\n"

15 set password $expect_out(1,string)

16 stty echo

17 18 spawn ssh $username@$host

19 expect

21 "#"

22 "timeout"

23 }

24 interact

第1行#! /usr/bin/expect指明指令碼的直譯器,不同的系統略有不同;第二行set timeout 20設定命令expect的超時時間,單位為秒;第4~6行提示使用者輸入使用者名稱,並將使用者的輸入儲存在變數username中;第8~10提示使用者輸入主機或ip位址,並將使用者的輸入儲存到變數host;第12~16行提示使用者輸入密碼,並將使用者的輸入儲存到變數password;第18行開啟乙個程序用於執行命令ssh $username@$host;第19~23行和命令ssh $username@$host互動;第24行將互動交給使用者。

Linux自動化命令工具expect

expect是unix系統中用來進行自動化控制和測試的軟體工具,應用在互動式軟體中如telnet,ftp,passwd,fsck,rlogin,tip,ssh等等。linux中我們經常寫指令碼處理一些繁瑣的任務,但不幸的是很多互動式的命令我們不得不人肉響應。expect可以代替我們實現與系統的互動。...

linux 自動互動工具expect

簡介 expect是乙個自動化互動套件,主要應用於執行命令和程式時,系統以互動形式要求輸入指定字串,實現互動通訊。expect自動互動流程 spawn啟動指定程序 expect獲取指定關鍵字 send向指定程式傳送指定字元 執行完成退出.注意該指令碼能夠執行的前提是安裝了expect yum y i...

linux自動化互動指令碼expect

expect指令碼是tcl指令碼語言的拓展。用來實現自動的互動式任務,無需人為干預。在實際開發中,執行shell指令碼有時候會輸入linux密碼或者是mysql密碼等,而expect可以幫我們輸入。expect在linux系統中沒有自帶,需要我們自行安裝,在ubuntu系統下,安裝命令如下 sudo...