新聞中心
linux expect是一種接口腳本工具,它可以幫助我們快速高效地完成復(fù)雜的系統(tǒng)任務(wù)。最常見的應(yīng)用就是它可以用來(lái)自動(dòng)完成標(biāo)準(zhǔn)Unix和Linux下的運(yùn)維管理任務(wù),例如SSH自動(dòng)登錄、FTP文件傳輸、Telnet登錄等。

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)隨州,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18982081108
首先,在使用linux expect之前,可以首先安裝相關(guān)的工具,以支持expect的功能:
apt-get install tcl tk
其中tcl是一種語(yǔ)言,這種語(yǔ)言使用expect進(jìn)行接口腳本變得更加簡(jiǎn)單,tk是一種工具集,可以讓我們快速的開發(fā)Tcl程序。
其次,可以用Linux expect編寫復(fù)雜的任務(wù)腳本,例如自動(dòng)登錄服務(wù)器:
spawn ssh ${username}@${ip_address}
expect {
"yes/no"
{
send "yes\r"
expect "*assword" { send "${password}\r" }
}
"*assword" { send "${password}\r" }
}
上面的腳本首先使用spawn命令自動(dòng)登錄服務(wù)器,然后使用expect命令控制任務(wù)的流程(“yes/no”選擇,提供密碼),最后使用send命令將數(shù)據(jù)發(fā)送到控制進(jìn)程中。
最后,Linux expect可以生成一些簡(jiǎn)單的圖形控制臺(tái),以完成更復(fù)雜的系統(tǒng)控制任務(wù)。例如,可以編寫一個(gè)Tcl程序來(lái)控制Linux系統(tǒng)時(shí)間:
# 用Tcl包裝Linux expect
package require Tk
# 創(chuàng)建應(yīng)用程序主窗口
toplevel .mainwin -width 200 -height 150
wm title .mainwin "Time Manager"
# 創(chuàng)建菜單
menubutton .mainwin.File -text "File"
menu .mainwin.File.list -tearoff 0
.mainwin.File.list add command -label "Exit" -command exit
# 創(chuàng)建時(shí)間選擇框
frame .mainwin.timelist
label .mainwin.timelist.text -text "時(shí)間:"
entry .mainwin.timelist.entry -width 15
button .mainwin.timelist.ok -text "設(shè)置" -command {set_time}
# 聲明proc函數(shù)以執(zhí)行set_time
proc set_time {exp} {
# 獲取用戶輸入的時(shí)間
set value [.mainwin.timelist.entry get]
# 使用expect執(zhí)行
set timeout 10
spawn date -s "$value"
expect {
-re "yes/no" {
send "y\r"
expect {
-re "Is this correct" {
send "y\r"
}
timeout {
exit
}
}
}
timeout {
exit
}
}
}
以上,就是使用Linux expect解決系統(tǒng)復(fù)雜任務(wù)的示例,它可以幫助我們自動(dòng)完成標(biāo)準(zhǔn)Unix和Linux下的運(yùn)維管理任務(wù),極大地提高我們圍繞系統(tǒng)任務(wù)的工作效率。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
網(wǎng)頁(yè)標(biāo)題:以Linuxexpect解決系統(tǒng)復(fù)雜任務(wù)(linuxexpect)
文章地址:http://www.5511xx.com/article/cdigcig.html


咨詢
建站咨詢
