佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > Linux實(shí)現(xiàn)自動(dòng)登錄的實(shí)例講解

Linux實(shí)現(xiàn)自動(dòng)登錄的實(shí)例講解

熱門標(biāo)簽:百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 智能手機(jī) 網(wǎng)站建設(shè) 阿里云 美圖手機(jī) 使用U盤裝系統(tǒng) 硅谷的囚徒呼叫中心 檢查注冊(cè)表項(xiàng)

使用expect實(shí)現(xiàn)自動(dòng)登錄的腳本,網(wǎng)上有很多,可是都沒有一個(gè)明白的說明,初學(xué)者一般都是照抄、收藏??墒菫槭裁匆@么寫卻不知其然。本文用一個(gè)最短的例子說明腳本的原理。

腳本代碼如下:

#!/usr/bin/expect
set timeout 30
spawn ssh -l username 192.168.1.1
expect "password:"
send "ispass\r"
interact

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

這一行告訴操作系統(tǒng)腳本里的代碼使用那一個(gè)shell來執(zhí)行。這里的expect其實(shí)和linux下的bash、windows下的cmd是一類東西。

注意:這一行需要在腳本的第一行。

2. [set timeout 30]

基本上認(rèn)識(shí)英文的都知道這是設(shè)置超時(shí)時(shí)間的,現(xiàn)在你只要記住他的計(jì)時(shí)單位是:秒

3. [spawn ssh -l username 192.168.1.1]

spawn是進(jìn)入expect環(huán)境后才可以執(zhí)行的expect內(nèi)部命令,如果沒有裝expect或者直接在默認(rèn)的SHELL下執(zhí)行是找不到spawn命令的。所以不要用 “which spawn“之類的命令去找spawn命令。好比windows里的dir就是一個(gè)內(nèi)部命令,這個(gè)命令由shell自帶,你無法找到一個(gè)dir.com 或 dir.exe 的可執(zhí)行文件。

它主要的功能是給ssh運(yùn)行進(jìn)程加個(gè)殼,用來傳遞交互指令。

4. [expect “password:”]

這里的expect也是expect的一個(gè)內(nèi)部命令,有點(diǎn)暈吧,expect的shell命令和內(nèi)部命令是一樣的,但不是一個(gè)功能,習(xí)慣就好了。這個(gè)命令的意思是判斷上次輸出結(jié)果里是否包含“password:”的字符串,如果有則立即返回,否則就等待一段時(shí)間后返回,這里等待時(shí)長就是前面設(shè)置的30秒

5. [send “ispass\r”]

這里就是執(zhí)行交互動(dòng)作,與手工輸入密碼的動(dòng)作等效。

溫馨提示: 命令字符串結(jié)尾別忘記加上“\r”,如果出現(xiàn)異常等待的狀態(tài)可以核查一下。

6. [interact]

執(zhí)行完成后保持交互狀態(tài),把控制權(quán)交給控制臺(tái),這個(gè)時(shí)候就可以手工操作了。如果沒有這一句登錄完成后會(huì)退出,而不是留在遠(yuǎn)程終端上。

以上就是本次介紹的關(guān)于Linux實(shí)現(xiàn)自動(dòng)登錄的相關(guān)實(shí)例內(nèi)容,感謝大家的學(xué)習(xí)和對(duì)腳本之家的支持。

標(biāo)簽:賀州 煙臺(tái) 黃山 湘潭 懷化 通遼 湖北 山南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux實(shí)現(xiàn)自動(dòng)登錄的實(shí)例講解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    灵石县| 晋中市| 富源县| 南开区| 临沧市| 英超| 雷山县| 蕉岭县| 灌南县| 六枝特区| 邻水| 夏河县| 林芝县| 泉州市| 灌阳县| 长春市| 桐柏县| 大渡口区| 深泽县| 农安县| 永定县| 应城市| 江门市| 富宁县| 巫山县| 桓台县| 长海县| 澳门| 吉木乃县| 崇礼县| 竹北市| 渝北区| 化州市| 大同市| 汤阴县| 融水| 榕江县| 阿克苏市| 威海市| 疏附县| 涞水县|