七 shell程式設計 expect

2022-09-20 20:51:13 字數 1184 閱讀 3995

1.expect

前言觀察ssh登入的互動現象,有些程式難以避免的需要互動。如何解決指令碼與程式的互動問題。

expert就是專門解決指令碼和程式之間的互動問題

語法

spawn  expect的內部命令,啟動乙個shell程式

expect  期望哪些內容

yes/no  就send傳送yes。\r表示回車

password  就send傳送centos

exp_continue  跳過迴圈,繼續下一條語句

interact  允許使用者互動(實際不一定用上這個)

安裝yum install -y expect tcl tclx tcl-devel 

2.示例1

通過expect解決ssh互動問題

通過expect編寫指令碼

試用,不能使用bash,因為是用expect語言寫的

試用,成功

3.實戰2

公鑰推送

準備工作:安裝expect,準備公鑰

通過expect進行互動

優化指令碼

把ping和expect結合

兩種方法

①/usr/bin/expect /root/ssh.exp  這要是叫bash執行到這裡後用/usr/bin/expect開啟ssh.exp檔案繼續執行

②/usr/bin/expect <

內容eof  這是等於把內容以文件的形式讓/usr/bin/expect執行

一般都用第一種,因為這樣美觀且不易混淆

SHell程式設計之Expect免互動

1 expect是建立在tcl基礎上的乙個工具,expect是用來進行自動化控制和測試的工具。主要解決shell指令碼中不可互動的問題。對於大規模的linux運維很有幫助。2 在linux運維和開發中,我們經常需要遠端登入伺服器進行操作,登入的過程是乙個互動到的過程,可能會需要輸入yes no pa...

Shell 程式設計之Expect免互動

四 expect 執行方式 1 expect是建立在tcl基礎上的乙個工具,expect是用來進行自動化控制和測試的工具。主要解決shell指令碼中不可互動的問題。對於大規模的linux運維很有幫助。2 在linux運維和開發中,我們經常需要遠端登入伺服器進行操作,登入的過程是乙個互動到的過程,可能...

expect程式設計

expect是unix系統中用來進行自動化控制和測試的軟體工具,由don libes製作,作為tcl指令碼語言的乙個擴充套件,應用在互動式軟體中如telnet,ftp,passwd,fsck,rlogin,tip,ssh等等。該工具利用unix偽終端包裝其子程序,允許任意程式通過終端接入進行自動化控...