linux 系統(tǒng)下expect使用

一、定義:expect是linux上的一種人機交互的一套工具,它里面的命令能完成數(shù)據(jù)的接受、發(fā)送以及新進程的啟動。

二、參數(shù)

spawn:發(fā)起一個新的啟動進程,如:spawn ssh perfadmin@10.124.X.X (該命令是完成對10.124.X.X 的ssh登錄),spawn scp 本地文件?perfadmin@10.124.X.X:遠程機器的地方(啟動了scp,將本地文件拷貝到10.124.X.X機器指定的地方)

expect:接收交互進程中發(fā)送的數(shù)據(jù),在接收數(shù)據(jù)中可以使用正則表達式匹配。如我們平常的ssh登錄后,會給一個如下提示:

expect接收內(nèi)容為類似上圖紅色部。對于上面的情況expect命令為:expect "*password"

send:接收進程發(fā)送的數(shù)據(jù)

interact:繼續(xù)本次的回話

expect eof:結(jié)束本次的回話

exp_continue:匹配多個字符串在執(zhí)行動作后加此命令

三、舉例說明

eg:連接10.124.X.X機器,并在10.124.X.X機器上執(zhí)行刪除文件和啟動nmon

#!/usr/bin/expect? 目的是為了引用expect命令

spawn ssh root@10.124.X.X? ? ?#連接10.124這臺機器

expect? "*password:"? ?#接受到password這個詞語是

send? "1qaz2wsx\r"? ?#就輸入密碼

expect "Last login:*"? ?#然后接受到Last login時

send "cd /home/root/wang\r"? #將目錄切換到 wang這個目錄

send "rm -rf testwang.nmon\r"? ?#繼續(xù)輸入刪除testwang.nmon命令

send "./nmon -F 20180411.nmon -t -s 10 -c 100"? ?#繼續(xù)執(zhí)行文件下的nmon命令

expect eof? #停機本次回話

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容