shell使用expect實現sftp的自動互動

2021-09-26 01:14:30 字數 764 閱讀 3000

檢查是否安裝expect

直接在linux上執行 expect 如提示無此命令則未安裝

安裝expect

切換到root使用者下,執行 yum install expect*

expect簡單使用

1、在需要執行的指令碼中調取expect指令碼

vim exec_expect_sftp.sh#/usr/bin/expect -f

#引數1 usrname 引數2 passwd 引數3 ip 引數4 dir

set userna [lindex $ar** 0]

set passwd [lindex $ar** 1]

set ip [lindex $ar** 2]

set dir [lindex $ar** 3]

spawn sftp $userna@$ip

expect

"password:"

}expect "sftp>"

send "cd $dir\r"

expect "sftp>"

send "get *.*\r"

expect "sftp>"

send "bye\r"

expect eof

在執行指令碼中執行

/usr/bin/expect exec_expect_sftp.sh usrname passwd ip dir

使用expect實現shell互動式程式設計

expect是乙個自動化互動套件,主要應用於執行命令和程式時,系統以互動形式要求輸入指定字串,實現互動通訊。expect自動互動流程 spawn啟動指定程序 expect獲取指定關鍵字 send向指定程式傳送指定字元 執行完成退出。expect常用命令總結 spawn 互動程式開始,後面跟命令或者指...

shell與expect結合使用

摘自 在linux作業系統下,使用指令碼自動化,一般由兩種方案,方案一 telnet ftp,方案二 ssh scp expect。以下主要使用ssh scp expect為例進行說明使用方式。第一步 安裝expect yum y install expect 第二步 驗證,執行expect是否正確...

shell與expect結合使用

在linux作業系統下,使用指令碼自動化,一般由兩種方案,方案一 telnet ftp,方案二 ssh scp expect。以下主要使用ssh scp expect為例進行說明使用方式。第一步 安裝expect yum y install expect 第二步 驗證,執行expect是否正確 第三...