熱搜:win11繞過硬件限制安裝 一鍵重裝Win10系統(tǒng) 最干凈的u盤啟動盤 真正純凈版的win7系統(tǒng)
時間:2015-04-10 16:31:40 作者:qipeng 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20150410/44867.html 手機查看 評論 反饋
案例2:批量處理
在需要管理大量的Linux服務器時,可以這樣做:
1.host.list
192.168.1.1 22 root abc1
192.168.1.2 22 root abc2
192.168.1.3 22 root abc3
192.168.1.4 22 root abc4
192.168.1.5 22 root abc5
192.168.1.6 22 root abc6
192.168.1.7 22 root abc7
192.168.1.8 22 root abc8
我們把服務器的IP地址、端口號、用戶名、密碼一起放在host.list文件里,按行排列。
下面來看看腳本文件main.exp
#!/usr/bin/expect -f
set ipaddress [lindex $argv 0]
set port [lindex $argv 1]
set username [lindex $argv 2]
set passwd [lindex $argv 3]
set timeout 30
spawn ssh $ipaddress -p$port -l$username
expect {
“yes/no” { send “yes\r”;exp_continue }
“password:” { send “$passwd\r” }
}
expect -re “\](\$|#) ”
send “bash /root/test.sh \r”
expect -re “\](\$|#) ”
send “exit\r”
來做一個while循環(huán):whi.sh
#!/bin/bash
host=“host.list”
while read line
do
expect main.exp $line
done 《 $host
把以上腳本都賦予執(zhí)行權(quán)限,就可以了。
案例3:scp文件傳輸
expect -c “
spawn scp root@192.168.1.188:/root/file1.tgz /root
expect {
\”*assword\“ {set timeout 300; send \”abc123456\r\“;}
\”yes/no\“ {send \”yes\r\“; exp_continue;}
}
expect eof
”
同樣的原理,也可以做循環(huán)進行批量管理,還可以更簡化腳本,也不多說明了,有興趣的同學可以多嘗試下。使用expect進行自動輸入密碼登陸,基本多用于批量管理。也還算方便。關(guān)于批量管理有多種方法,可以在主機之間建立ssh信任機制,也可以免密碼登陸管理等。還可以使用sshpass(外部命令)這個命令進行帶密碼在腳本里執(zhí)行自動輸入密碼。
上面就是Linux使用expect命令的方法介紹了,本文一共介紹了expect命令的三個操作實例,通過這些實例的練習,你一定能輕松掌握expect命令的用法。
發(fā)表評論
共0條
評論就這些咯,讓大家也知道你的獨特見解
立即評論以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場