使用expect實現自動互動,自動登入指令碼

2021-06-04 21:14:06 字數 775 閱讀 5514

使用expect實現自動互動,自動登入指令碼

指令碼**如下:

##############################################

#!/usr/bin/expect

set timeout 30

spawn ssh -l username 192.168.1.1

expect "password:"

send "ispass\r"

interact

##############################################

1. [#!/usr/bin/expect]

這一行告訴作業系統指令碼裡的**使用那乙個shell來執行。這裡的expect其實和linux下的bash、windows下的cmd是一類東西。

注意:這一行需要在指令碼的第一行。

2. [set timeout 30]

基本上認識英文的都知道這是設定超時時間的,現在你只要記住他的計時單位是:秒

3. [spawn ssh -l username 192.168.1.1]

spawn是進入expect環境後才可以執行的expect內部命令,如果沒有裝expect或者直接在預設的shell下執行是找不到spawn命令的。所以不要用 「which spawn「之類的命令去找spawn命令。好比windows裡的dir就是乙個內部命令,這個命令由shell自帶,你無法找到乙個dir.com 或 dir.exe 的可執行檔案。

它主要的功能是給ssh執行程序加個殼,用來傳遞互動指令。

expect 自動互動指令碼

命令列引數 ar 引數陣列,使用 lindex ar n 獲取,ar 0為指令碼名字 argc,引數個數 set username lindex ar 1 獲取第1個引數 set passwd lindex ar 2 獲取第2個引數 set timeout 30 設定超時 spawn是expect內...

Linux Shell自動互動 expect

expect是乙個免費的程式設計工具,用來實現自動的互動式任務,而無需人為干預。注意 在使用之前需要安裝 expect 在使用 expect 時,我們基本是操作下面幾個命令 命令作用說明 spawn 啟動新程序 expect 從程序接收字串 send 用於向程序傳送字串 interact 用於退出自...

linux 自動互動工具expect

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