最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

linux中expect的介紹與使用示例

 更新時(shí)間:2017年01月15日 15:04:43   作者:Lingxian_Kong  
expect是一種自動(dòng)交互語言,能實(shí)現(xiàn)在shell腳本中為scp和ssh等自動(dòng)輸入密碼自動(dòng)登錄。下面這篇文章主要介紹了linux中使用expect的方法示例,需要的朋友可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧。

一、概述

我們通過Shell可以實(shí)現(xiàn)簡單的控制流功能,如:循環(huán)、判斷等。但是對于需要交互的場合則必須通過人工來干預(yù),有時(shí)候我們可能會需要實(shí)現(xiàn)和交互程序如telnet服務(wù)器等進(jìn)行交互的功能。而Expect就使用來實(shí)現(xiàn)這種功能的工具。

Expect是一個(gè)免費(fèi)的編程工具語言,用來實(shí)現(xiàn)自動(dòng)和交互式任務(wù)進(jìn)行通信,而無需人的干預(yù)。Expect的作者Don Libes在1990年 開始編寫Expect時(shí)對Expect做有如下定義:Expect是一個(gè)用來實(shí)現(xiàn)自動(dòng)交互功能的軟件套件 (Expect [is a] software suite for automating interactive tools)。使用它系統(tǒng)管理員 的可以創(chuàng)建腳本用來實(shí)現(xiàn)對命令或程序提供輸入,而這些命令和程序是期望從終端(terminal)得到輸入,一般來說這些輸入都需要手工輸入進(jìn)行的。 Expect則可以根據(jù)程序的提示模擬標(biāo)準(zhǔn)輸入提供給程序需要的輸入來實(shí)現(xiàn)交互程序執(zhí)行。甚至可以實(shí)現(xiàn)實(shí)現(xiàn)簡單的BBS聊天機(jī)器人。 :)

Expect是不斷發(fā)展的,隨著時(shí)間的流逝,其功能越來越強(qiáng)大,已經(jīng)成為系統(tǒng)管理員的的一個(gè)強(qiáng)大助手。Expect需要Tcl編程語言的支持,要在系統(tǒng)上運(yùn)行Expect必須首先安裝Tcl。

二、Expect工作原理

從最簡單的層次來說,Expect的工作方式象一個(gè)通用化的Chat腳本工具。Chat腳本最早用于UUCP網(wǎng)絡(luò)內(nèi),以用來實(shí)現(xiàn)計(jì)算機(jī)之間需要建立連接時(shí)進(jìn)行特定的登錄會話的自動(dòng)化。

Chat腳本由一系列expect-send對組成:expect等待輸出中輸出特定的字符,通常是一個(gè)提示符,然后發(fā)送特定的響應(yīng)。例如下面的 Chat腳本實(shí)現(xiàn)等待標(biāo)準(zhǔn)輸出出現(xiàn)Login:字符串,然后發(fā)送somebody作為用戶名;然后等待Password:提示符,并發(fā)出響應(yīng) sillyme。

引用:Login: somebody Password: sillyme

這個(gè)腳本用來實(shí)現(xiàn)一個(gè)登錄過程,并用特定的用戶名和密碼實(shí)現(xiàn)登錄。

Expect最簡單的腳本操作模式本質(zhì)上和Chat腳本工作模式是一樣的。

三、一個(gè)例子:

#!/usr/bin/expect -f 
set ip [lindex $argv 0 ]  //接收第一個(gè)參數(shù),并設(shè)置IP 
set password [lindex $argv 1 ] //接收第二個(gè)參數(shù),并設(shè)置密碼 
set timeout 10     //設(shè)置超時(shí)時(shí)間 
spawn ssh root@$ip  //發(fā)送ssh請滶 
expect {     //返回信息匹配 
 "*yes/no" { send "yes\r"; exp_continue} //第一次ssh連接會提示yes/no,繼續(xù) 
 "*password:" { send "$password\r" }  //出現(xiàn)密碼提示,發(fā)送密碼 
} 
interact   //交互模式,用戶會停留在遠(yuǎn)程服務(wù)器上面. 

運(yùn)行結(jié)果:

root@ubuntu:/home/zhangy# ./test.exp 192.168.1.130 admin 
spawn ssh root@192.168.1.130 
Last login: Fri Sep 7 10:47:43 2012 from 192.168.1.142 
[root@linux ~]# 

總結(jié)

以上就是關(guān)于linux下使用expect示例的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • 關(guān)于安裝LNMP集成包后上傳圖片報(bào)500錯(cuò)誤的解決方法

    關(guān)于安裝LNMP集成包后上傳圖片報(bào)500錯(cuò)誤的解決方法

    這篇文章主要給大家介紹了關(guān)于安裝LNMP集成包后上傳圖片報(bào)500錯(cuò)誤的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • linux使用find和crontab命令定期清理過期文件

    linux使用find和crontab命令定期清理過期文件

    這篇文章主要給大家介紹了linux系統(tǒng)下使用find和crontab命令定期清理過期文件的方法,文中先對find和crontab命令進(jìn)行了詳細(xì)的介紹,相信對大家的理解和學(xué)習(xí)具有一定的參考借鑒價(jià)值,下面來一起看看吧。
    2016-12-12
  • Linux云服務(wù)器搭建SFTP服務(wù)器圖片服務(wù)器的操作

    Linux云服務(wù)器搭建SFTP服務(wù)器圖片服務(wù)器的操作

    這篇文章主要介紹了Linux云服務(wù)器搭建SFTP服務(wù)器圖片服務(wù)器的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • yum 安裝memcache permission denied(拒絕訪問) 問題

    yum 安裝memcache permission denied(拒絕訪問) 問題

    這篇文章主要介紹了yum 安裝memcache permission denied(拒絕訪問) 問題,需要的朋友可以參考下
    2017-03-03
  • Ubuntu 12.04 64位 對Python 源代碼編譯詳解

    Ubuntu 12.04 64位 對Python 源代碼編譯詳解

    這篇文章主要介紹了Ubuntu 12.04 64位 對Python 源代碼編譯的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • win10 + Ubuntu20.04 LTS雙系統(tǒng)引導(dǎo)界面美化

    win10 + Ubuntu20.04 LTS雙系統(tǒng)引導(dǎo)界面美化

    這篇文章主要介紹了win10 + Ubuntu20.04 LTS雙系統(tǒng)引導(dǎo)界面美化,文中通過圖文示例介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • apache虛擬主機(jī)的配置指南

    apache虛擬主機(jī)的配置指南

    本文介紹了apache虛擬主機(jī)的配置的方法,要配置apache的虛擬主機(jī),我們需要分以下幾步進(jìn)行:檢查apache虛擬主機(jī)模塊,開啟apache虛擬主機(jī)功能,httpd-vhosts.conf文件詳解,根據(jù)IP配置虛擬主機(jī),根據(jù)端口配置虛擬主機(jī),根據(jù)域名配置虛擬主機(jī),有需要的小伙伴參考下
    2015-01-01
  • 詳解Lamp環(huán)境搭建Linux CentOS6.5編譯安裝mysql5.6

    詳解Lamp環(huán)境搭建Linux CentOS6.5編譯安裝mysql5.6

    這篇文章主要介紹了詳解Lamp環(huán)境搭建Linux CentOS6.5編譯安裝mysql5.6,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Linux如何配置本地yum源(光盤鏡像掛載)

    Linux如何配置本地yum源(光盤鏡像掛載)

    這篇文章主要介紹了Linux如何配置本地yum源(光盤鏡像掛載),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Linux文件操作新手指南之關(guān)于install命令的用法

    Linux文件操作新手指南之關(guān)于install命令的用法

    這篇文章主要介紹了Linux文件操作新手指南之關(guān)于install命令的用法,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02

最新評論

徐汇区| 平阳县| 东方市| 青河县| 饶阳县| 玉龙| 滨州市| 永嘉县| 紫金县| 新竹县| 虞城县| 彭州市| 木里| 富阳市| 团风县| 仪陇县| 青州市| 辽阳市| 华池县| 石狮市| 西城区| 教育| 临高县| 湖州市| 临武县| 莱州市| 凌海市| 方山县| 平山县| 抚宁县| 平阴县| 大名县| 唐河县| 武义县| 长沙县| 江都市| 乐业县| 安阳市| 肇东市| 陇西县| 麻阳|