彎彎小道
需要使用腳本來執(zhí)行當(dāng)前服務(wù)器和其他服務(wù)器進(jìn)行數(shù)據(jù)互傳,腳本要能夠自動(dòng)應(yīng)答,網(wǎng)上查到資料可以使用諸如下面的腳本來實(shí)現(xiàn)
#!/bin/expect -f #which expect找到所在路徑,添加到這里
spawn scp -P 8822 ./nmap-7.92-1.x86_64.rpm root@192.168.1.*:/mnt
expect {
"(yes/no*)?" { send "yes\r";exp_continue }
"*password:*" { send "ruijie1688\r" }
}
我使用的是centos7.5系統(tǒng),首先在命令行試了expect命令,可以正常使用;命令行輸入spawn提示“-bash: spawn: 未找到命令”,第一感覺就是沒有這個(gè)命令,需要自己去裝一個(gè)。我的服務(wù)器系統(tǒng)不能直接聯(lián)網(wǎng)安裝,那么就準(zhǔn)備去網(wǎng)上下載spawn安裝包進(jìn)行安裝,這個(gè)思路有點(diǎn)問題,走了不少彎路…
查了一些資料才發(fā)現(xiàn)spawn需要在expect環(huán)境下運(yùn)行,環(huán)境中有了expect不需要再去安裝spawn包
了解下expect是什么?
https://baike.baidu.com/item/expect/4598715
以下嘗試運(yùn)行命令
[root@885003ed-49c8-5470-afb8-8c74ecf0760c ~]# expect
expect1.1> spawn #在expect環(huán)境下可以正常執(zhí)行
usage: spawn [spawn-args] program [program-args]
while executing
"spawn"
expect1.2>
expect腳本執(zhí)行方式
方式1:全路徑執(zhí)行
/root/scritpt.sh
方式2:賦予執(zhí)行權(quán)限后執(zhí)行
chmod +x scritpt.sh
./scritpt.sh
方式2:使用expect運(yùn)行
expect scritpt.sh
expect中相關(guān)命令
spawn:
啟動(dòng)新的進(jìn)程
send:
用于向進(jìn)程發(fā)送字符串
expect:
從進(jìn)程接收字符串
interact:
執(zhí)行完成后保持交互狀態(tài),把控制權(quán)交給控制臺,這個(gè)時(shí)候就可以手工操作了
expect eof
與spawn對應(yīng),表示捕捉終端輸出信息終止,結(jié)束交互。
exp_continue
匹配多個(gè)字符串在執(zhí)行動(dòng)作后加此命令
interact 與 expect eof的區(qū)別
expect中的相關(guān)命令在之前的腳本中已有體現(xiàn),對照腳本就可以知道用法,interact 與 expect eof的區(qū)別,可嘗試運(yùn)行下面的腳本執(zhí)行,執(zhí)行后查看下當(dāng)前系統(tǒng)的IP地址就知道區(qū)別了,看看停留在哪里
#!/bin/expect -f
spawn ssh -p 9622 root@192.168.1.88
expect "*password:*"
send "admin688\r"
interact
執(zhí)行完以后停留在當(dāng)前主機(jī)上
#!/bin/expect -f
spawn ssh -p 9622 root@192.168.1.88
expect "*password:*"
send "admin688\r"
expect eof
執(zhí)行完返回原來的位置文章來源:http://www.zghlxwxcb.cn/news/detail-477539.html
上面的使用說明中如果有不好懂的地方,也可以參見下面的鏈接去學(xué)習(xí)
https://blog.csdn.net/wangzhicheng987/article/details/122689236
https://blog.csdn.net/modi000/article/details/107115286/文章來源地址http://www.zghlxwxcb.cn/news/detail-477539.html
到了這里,關(guān)于-bash: spawn: 未找到命令的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!