国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Linux Shell > 正文

shell中使用expect命令進(jìn)行遠(yuǎn)程執(zhí)行命令腳本

2020-07-27 18:45:58
字體:
供稿:網(wǎng)友

expect是用來實(shí)現(xiàn)自動(dòng)交互功能的工具之一,使用expect-send來實(shí)現(xiàn)交互過程。

注意:

1、腳本的執(zhí)行方法與bash shell不一樣,比如:expect example.sh

2、向一個(gè)腳本傳遞參數(shù)時(shí),bash shell是使用$1,$2...來接收參數(shù)的;而expect則將腳本的執(zhí)行參數(shù)保存在數(shù)組$argv中,在腳本中一般將其賦值給變量:set 變量名 [lindex $argv 參數(shù)]

#!/usr/bin/expectset ip [lindex $argv 0]set password [lindex $argv 1]set timeout 2spawn telnet $ipexpect "*femto login:"send "root/r"expect "*Password:"send "$password/r"# 進(jìn)入指定的機(jī)器后,就可執(zhí)行相應(yīng)的命令或者腳本interact#expect eof

注意:若登陸后便退出遠(yuǎn)程終端,則寫expect eof即可。

3、執(zhí)行腳本

expect autologin.sh 192.168.1.240 root

很多時(shí)候,需要用expect命令實(shí)現(xiàn)登錄遠(yuǎn)端服務(wù)器執(zhí)行簡單命令,諸如:重啟服務(wù)器,ftp,ls, scp等命令。 里面涉及到輸入密碼的交互式場景,這個(gè)時(shí)候expect命令的巨大功效就出來了,下面是一個(gè)比較經(jīng)典腳本實(shí)現(xiàn):

#!/usr/bin/tclshpackage require Expectset host_ip1 [lindex $argv 0]set host_usr [lindex $argv 1]set host_pwd [lindex $argv 2]spawn ssh $host_usr@$host_ip1set timeout 60expect {  -re "password" {send "$host_pwd/n"}   -re "yes/no" {send "yes/n";exp_continue} # 有的時(shí)候輸入幾次密碼來確認(rèn),exp_continue}expect "#"send "ls /home/${host_user} | tee -a /tmp/ls.txt /r"expect "#"send "exit/r"expect eof

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)武林網(wǎng)的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 陵川县| 凌云县| 贵定县| 寻乌县| 阜阳市| 二连浩特市| 桐庐县| 循化| 比如县| 九江市| 郯城县| 徐闻县| 铜鼓县| 松江区| 富民县| 峨眉山市| 宁德市| 凌海市| 东城区| 醴陵市| 佛教| 安庆市| 南投县| 吴川市| 双流县| 府谷县| 金平| 威远县| 湘潭市| 衡水市| 竹北市| 宣化县| 伊吾县| 商河县| 万年县| 新源县| 彰武县| 洛浦县| 玉溪市| 江永县| 黄石市|