日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

expect脚本的简单应用

發(fā)布時間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 expect脚本的简单应用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

expect是一個用來處理交互的命令。借助于expect我們可以把交互過程寫在一個腳本上,使之自動化完成。

expect最核心的四個命令:

send:用于向進程發(fā)送字符串 except:從進程接收字符串 spawn:打開一個新的進程 interact:保持交互的狀態(tài)

首先一個簡單的腳本:

#!/usr/bin/expect????????????#定義解釋器和shell一樣 set?user?[lindex?$argv?0]????#定義變量 set?host?[lindex?$argv?1]????#? set?passwd?"8023jun12" spawn?ssh?$user@$host?????????#打開一個ssh進程 expect?"password:"????????????#捕捉到“password:"字符串時,調(diào)用send發(fā)送字符串 send?"$passwd\r" interact?????????????????????#ssh登錄后保持登錄狀態(tài),若沒有此語句腳本執(zhí)行完之后就會返回

執(zhí)行腳本:

[root@slave?expect]#?./1.sh?root?192.168.1.120 spawn?ssh?root@192.168.1.120 root@192.168.1.120's?password:? Last?login:?Tue?Dec?27?07:27:07?2016?from?slave [root@master?~]#

可以設(shè)置超時時間:

set?timeout?100:設(shè)置超時時間為100秒,如果要執(zhí)行的shell命令很長可以設(shè)置超時時間長一些。expect超過超時時間沒有監(jiān)測到要找的字符串,則不執(zhí)行,默認timeout為10秒

expect的命令行參數(shù)

[lindex?$argv?n]獲得index為n的參數(shù)(index從0開始計算) $argc為命令行參數(shù)的個數(shù) [lrange?$argv?0?0]表示第一個參數(shù) [lrange?$argv?0?3]表示第1到第3個參數(shù)


轉(zhuǎn)載于:https://blog.51cto.com/zidingyi/1887482

總結(jié)

以上是生活随笔為你收集整理的expect脚本的简单应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。