欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

shell學(xué)習(xí)之expect命令

本文主要包括兩個(gè)部分:expect命令的使用示例和對(duì)該示例進(jìn)行說明。

站在用戶的角度思考問題,與客戶深入溝通,找到崆峒網(wǎng)站設(shè)計(jì)與崆峒網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋崆峒地區(qū)。

1.   expect命令的使用示例

    IP=192.168.1.18
    PASS=passwd
    expect -c "
             settimeout 60;
             spawn ssh root@192.168.0.1
             expect{
                     \"*yes/no*\"{send \"yes\r\"; exp_continue}
                     \"*password*\"{send \"$PASS\r\";}
                    }
                    expect eof"

2.   針對(duì)示例,對(duì)expect命令的使用進(jìn)行說明

(1)   -c標(biāo)志之后的命令在任何腳本之前執(zhí)行,該命令應(yīng)當(dāng)被引用以防止被 shell破壞。

(2)   set timeout 60:設(shè)置超時(shí)時(shí)間,計(jì)時(shí)單位為秒,timeout -1為永不超時(shí)。

(3)   spawn是expect的初始命令,用于啟動(dòng)一個(gè)進(jìn)程,之后所有的expect操作都在這個(gè)進(jìn)程中進(jìn)行,如果沒有spawn語(yǔ)句,整個(gè)expect就無法進(jìn)行下去,當(dāng)然,如果真的不要spawn過程也沒有關(guān)系,雖然這樣就沒有辦法單獨(dú)執(zhí)行,但是這個(gè)腳本可以與任何調(diào)用它的進(jìn)程進(jìn)行交互。

(4)   expect用于等候一個(gè)相匹配的輸出,一旦匹配就執(zhí)行后面的動(dòng)作。在這個(gè)例子中,expect是依附于spawn命令的,當(dāng)spawn后面的命令執(zhí)行完畢后,expect命令就匹配命令執(zhí)行后的關(guān)鍵詞(yes/no),如果匹配到,就執(zhí)行后面{ }中動(dòng)作。

(5)   expect的匹配可以看做是一個(gè)循環(huán),通常匹配之后都會(huì)退出語(yǔ)句,但如果有exp_continue,則可以不斷循環(huán)匹配。在該例子中,遇到“yes/no”時(shí),送出“yes”,然后繼續(xù)expect,遇到密碼提示時(shí),送出密碼,送完后退出。

(6)   eof是必須去匹配的,在 spawn進(jìn)程結(jié)束后會(huì)向 expect發(fā)送 eof;如果不去匹配,有時(shí)也能運(yùn)行,比如 sleep多少秒后再去 spawn下一個(gè)命令,但是不要依賴這種行為,很有可能今天還可以,明天就不能用了。但是,如果不需要spawn的進(jìn)程結(jié)束,不能 expect eof了,如下面的例子:

      #!/usr/bin/expect
 
      set timeout 30
      spawn ssh 10.192.224.224
      expect"password:"
      send"mypassword\n"
      expect "*$"
      send "mkdirtmpdir\n"
      expect"*$"

手動(dòng)操作時(shí) ssh實(shí)際上也不會(huì)自己結(jié)束除非你 exit;所以你只能expect bash的提示符,當(dāng)然也可以是機(jī)器名等,這樣才可以在遠(yuǎn)程創(chuàng)建一個(gè)目錄。

 

 

網(wǎng)頁(yè)標(biāo)題:shell學(xué)習(xí)之expect命令
瀏覽地址:http://www.chinadenli.net/article4/goocie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)外貿(mào)建站做網(wǎng)站網(wǎng)站改版微信公眾號(hào)小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)