亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Linux Shell > 正文

Shell腳本之Expect免交互的實現

2020-07-27 18:44:02
字體:
來源:轉載
供稿:網友

Expext概述

Expect是建立在tcl基礎上的一個工具,Expect是用來自動化控制和測試的工具。主要解決shell腳本中不可交互的問題。有助于大規模的系統運維工作。在日常的運維與開發中,常常需要運城登錄到服務器,然而登錄的過程卻是個需要交互的過程,可能會要輸入yes/no等信息,使用Expect腳本即可實現免交互操作。

Expect安裝

掛載光盤
制作本地YUM源
執行安裝命令
yum install expect -y

基本命令

send
向進程發送字符串,用于模擬用戶的輸入,該命令不能自動回車換行,一般要加/r (回車)。

expect
expect的一個內部命令,判斷上次輸出結果里是否包含指定的字符串,如果有則立即返回,否則就等待超時時間后返回。只能捕捉由spawn啟動的進程的輸出。

spawn
啟動進程,并跟蹤后續交互信息

interact
執行完成后保持交互狀態,把控制權交給控制臺

Timeout
指定超時時間,過期則繼續執行后續指令
單位:秒
timeout -1 為永不超時
默認的timeout是10秒

exp_continue
允許expect繼續向下執行指令

send_user
回顯命令,相當于的echo輸出

$arvg 參數數組
Expect腳本可以接受從bash傳遞的參數??梢允褂肹lindex $arvg n]獲得,n從0開始,分別表示第一個,第二個,第三個為參數...參數

Expect腳本必須以interact或expect ecof結束,執行自動化任務通常expect eof就夠了
expect eof實在等待結束標志。由spawn啟動的命令在結束時會產生一個eof標記,expect eof即在等待這個標記

Expect語法

單分支語法

expect "passwd:" {send"mypasswd/r";}

多分支語法

expect"aaa"{send"AAA/r"}expect"aaa"{send"AAA/r"}expect"aaa"{send"AAA/r"}//Send命令不具備回車換行功能,一般要加/或/n
expect{"aaa"{send"AAA/r"}"bbb"{send"BBB/r"}"ccc"{send"CCC/r"}}//只要匹配上了任何一個,執行項硬的send語句后退出該expect語句
expect{"aaa"{send"AAA";exp_continue}"bbb"{send"BBB";exp_continue}"ccc"{send"CCC"}}//exp_continue表示繼續后面的匹配,若匹配上了aaa,執行完send語句后還要繼續往下匹配bbb

-re  參數表示匹配正則表達式

Expect執行方式

1.直接執行

案例演示:
SSH登錄
首次登陸
正常登錄
連接被拒絕,可能ssh沒開,或端口號不對,亦或是防火墻限制
沒有該連接地址

[root@localhost ~]# vim a.sh#!/usr/bin/expect       //Expect二進制文件的路徑#超時時間set timeout 20         //20秒等待時間log_file test.log        //日志文件log_user 1            //日志用戶#參數傳入set hostname [lindex $argv 0]    //追加參數0,統計變量并加載第1位置參數set password [lindex $argv 1]    //追加參數1,統計變量并加載第2位置參數#追蹤命令spawn ssh root@$hostname     //追蹤命令#捕捉信息并匹配免交互執行expect {                       //捕捉提示信息    "Connection refused" exit     //捕捉到拒接連接信息即退出    "service not konwn" exit     //捕捉到服務為開啟信息即退出    "(yes/no)"                // 捕捉yes或no參數    {send "yes/r";exp_continue}  //輸入yes并繼續執行            "*password"               // 捕捉參數      {send "$password/r"}       //輸入密碼參數       }#控制權交予控制臺interact                     //控制權轉交控制臺人為輸入exit                        //退出腳本[root@localhost ~]# chmod +x a.sh     //授予腳本執行權限[root@localhost ~]# ./a.sh 192.168.235.134 123123    //運行腳本遠程連接spawn ssh root@192.168.235.134root@192.168.235.134's password: Last login: Thu Oct 10 15:13:27 2019 from 192.168.235.1    //已成功遠程登錄[root@localhost ~]# exit          登出Connection to 192.168.235.134 closed.                  //退出遠程登錄 

2.嵌入執行

案例演示:
創建用戶jarry,密碼123123

[root@localhost ~]# vim c.sh#!/bin/bash user=$1password=$2#非交互命令放expect外面useradd $user#開始交互expect <<-EOF            //Expect開始標志,標準性輸入,等同于stdinspawn passwd $userexpect "新的*"send "$password/r"expect "重新*"send "$password/r"expect eof;EOF                    //Expect結束語句,EOF前后不能有空格[root@localhost ~]# chmod +x c.sh[root@localhost ~]# ./c.sh jarry 123123spawn passwd jarry更改用戶 jarry 的密碼 。新的 密碼:無效的密碼: 密碼少于 8 個字符重新輸入新的 密碼:passwd:所有的身份驗證令牌已經成功更新。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲男人天堂手机在线| 国产精品日韩在线播放| 狠狠操狠狠色综合网| 亚洲美女动态图120秒| 国产99视频精品免视看7| 亚洲偷欧美偷国内偷| 国产精品久久久久久久久久三级| 欧美一级在线亚洲天堂| 色婷婷综合成人| 欧洲午夜精品久久久| 大荫蒂欧美视频另类xxxx| 久久久久久久一区二区三区| 欧美激情在线观看| 亚洲丝袜一区在线| 欧美日韩一区二区在线| 国产又爽又黄的激情精品视频| 伊人男人综合视频网| 国产精品视频久| 欧美精品在线视频观看| 欧美www视频在线观看| 色偷偷亚洲男人天堂| 欧美丝袜美女中出在线| 日韩欧美中文字幕在线观看| 日韩在线免费视频| 色噜噜亚洲精品中文字幕| 91在线无精精品一区二区| 久久久这里只有精品视频| 欧美性猛交丰臀xxxxx网站| 这里只有精品丝袜| 欧美国产日韩视频| 日韩av一卡二卡| 国产精品r级在线| 亚洲男女性事视频| 欧美视频不卡中文| 日韩视频中文字幕| 中文字幕国产亚洲2019| 亚洲成人免费在线视频| 亚洲黄页视频免费观看| 亚洲精品免费网站| 久久久免费在线观看| 国产亚洲美女久久| 国产精品稀缺呦系列在线| 一区二区欧美日韩视频| 亚洲国产精品成人精品| 亚洲欧美日韩一区在线| 亚洲最大成人网色| 国产精品久久久久久久久免费看| 久久不射电影网| 亚洲国产欧美一区二区三区同亚洲| 九九精品在线播放| 欧美亚洲成人精品| 国产精品户外野外| 美女国内精品自产拍在线播放| 亚洲精选一区二区| 国产亚洲欧洲黄色| 久久久精品久久久| 亚洲一区二区精品| 久久激情视频免费观看| 97精品久久久中文字幕免费| 亚洲欧美一区二区三区四区| 在线日韩中文字幕| 久久综合久久美利坚合众国| 久久成人18免费网站| 91精品一区二区| 国产精品白丝jk喷水视频一区| 国产成人一区二区| 亚洲精品自拍偷拍| 亚洲精品国产精品自产a区红杏吧| 精品国产区一区二区三区在线观看| 久久久久久久久久久人体| 国产精品都在这里| 日韩动漫免费观看电视剧高清| 久久久久久中文| 免费99精品国产自在在线| 亚洲高清久久久久久| 日韩视频精品在线| 欧美最猛性xxxxx(亚洲精品)| 91爱视频在线| 久久露脸国产精品| 国产精品成人观看视频国产奇米| 亚洲精品中文字| 亚洲色图激情小说| 中文字幕精品一区二区精品| 国产精品精品视频一区二区三区| 久久免费视频网站| 欧美精品生活片| 国产精品久久久久福利| 精品国内产的精品视频在线观看| 亚洲视频在线观看| 中文字幕亚洲国产| 亚洲精品综合精品自拍| 美女撒尿一区二区三区| 欧美激情国产精品| 68精品国产免费久久久久久婷婷| 日韩大片在线观看视频| 91精品免费看| 日韩免费观看视频| 91wwwcom在线观看| 久久精品99久久久久久久久| 日韩中文在线不卡| 久久久久久久久亚洲| 国产精品91久久久| 亚洲网站视频福利| 日韩高清有码在线| 亚洲深夜福利视频| 国产一区二区丝袜高跟鞋图片| 国产美女久久精品| 午夜精品福利在线观看| 欧美老女人性生活| 国产精品网红福利| 91成人在线视频| 久久久天堂国产精品女人| 成人写真福利网| 亚洲2020天天堂在线观看| 欧美黑人xxxⅹ高潮交| 一本色道久久综合狠狠躁篇怎么玩| 在线a欧美视频| 日韩最新在线视频| 欧美极品美女电影一区| 久久久久九九九九| 欧美精品第一页在线播放| 欧美性猛交xxxxx免费看| 精品福利在线观看| 亚洲精品在线看| 日韩精品免费在线观看| 欧美精品999| 欧美成人免费大片| 96精品久久久久中文字幕| 国产精品第10页| 成人深夜直播免费观看| 国产精品第一第二| 欧美亚洲另类激情另类| 亚洲激情视频网站| 精品久久久久久亚洲精品| 亚洲欧美日韩精品久久| 中文字幕在线看视频国产欧美| 日韩在线视频国产| 国产精品69久久| 欧美诱惑福利视频| 91亚洲精品在线观看| 成人亲热视频网站| 国产日韩在线亚洲字幕中文| 国产成人亚洲综合91精品| 精品国产一区二区三区久久狼5月| www.欧美精品一二三区| 国产精品久久一区| 亚洲国产精彩中文乱码av| 成人观看高清在线观看免费| 亚洲专区中文字幕| 日韩亚洲成人av在线| 亚洲综合最新在线| 91精品久久久久久久久不口人| 亚洲aⅴ日韩av电影在线观看| 97视频在线观看视频免费视频| 亚洲影院在线看| 亚洲九九九在线观看| 久久精品国产一区二区电影| 国产一区二区三区日韩欧美| 国产亚洲欧美日韩精品| 韩国三级日本三级少妇99| 午夜精品一区二区三区在线播放| 色妞在线综合亚洲欧美| 中文字幕久热精品视频在线| 欧美精品aaa|