expect指令碼連線遠端終端思路

2021-08-20 19:01:53 字數 882 閱讀 8261

1,建立vim文字編輯器;

vim text.expect

2,編輯指令碼內容

(1)#!/usr/bin/expect               #約定標記,告訴系統該指令碼使用的解析器

(2)set timeout 5                        #設定超時時間,單位為秒,預設為10s

(3)set username [ lindex $argv 0]

set userip [lindex $argv 1]                       #設定變數,從0開始接收

(4)spawn ssh $username@$userip -p 22        #連線遠端終端(-p 22可以不寫)

#spawn是進入expect環境後才可以執行的expect內部命令,如果沒有裝expect或者直接在shell下執行是找不到spawn命令的。這個就好比cd是shell的內建命令,離開shell,就無法執行cd一樣。 它主要的功能是給ssh執行程序加個殼,用來傳遞互動指令。

(5)expect "password:"    send "登入密碼";   

#expect等待輸出中輸出特定的字元,通常是乙個提示符,如果等到了就使用send傳送特定的響應

(6)interact

#執行完成上述命令後保持在互動狀態,此時expect會把控制權交給控制台,這個時候就變回手工操作,expect已經執行完成。如果沒有這一句登入完成後會立刻退出,而不是留在遠端終端上。如果你只是登入過去執行一段命令就退出,可將其改為expect eof

3、退出並儲存指令碼

:wq!

4、更改為可執行檔案

chmod u+x text.expect

5、執行指令碼

./text.expect

自動遠端拷貝expect指令碼

自動遠端拷貝expect指令碼 expect自動遠端拷貝指令碼,利用rsync命令,指令碼內容如下 usr bin expect proc usage exit ifelseif else elseif elseif else else expect yes no fatal timeout no ...

EXPECT 指令碼 批量 遠端互動

在shell自動部署專案中對自動部署免去使用者互動很痛苦 expect eof 這個一定要加,與spawn對應表示捕獲終端輸出資訊終止,類似於if.endif expect指令碼必須以interact或expect eof結束,執行自動化任務通常expect eof就夠了。設定expect永不超時。...

linux下 PHP指令碼連線oracle資料庫

通過php你可以輕鬆的連線到資料庫,請求資料並將其顯示在你的web站點中,甚至修改資料庫中的資料。mysql是一種很流行的資料庫,並且在網際網路中有許多有關php與mysql的教程。mysql是免費的,這一點也許就吸引了不少人。由於其廣泛應用,我就不想在這裡贅述mysql的使用方法了。oracle被...