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