Linux下使用expect命令編寫自動(dòng)化交互腳本
expect 是建立在工具控制語(yǔ)言(Tool Control Language,TCL)之上的一個(gè)工具,它允許你通過(guò)編寫程序來(lái)對(duì)一些日常繁瑣的任務(wù)進(jìn)行有交互界面的自動(dòng)化操作。在 expect 上下文環(huán)境,你可以使用一些額外的只適用于 expect 上下文環(huán)境的命令,如 spawn、send、interact 等命令。

expect 預(yù)期的終端輸出
這里預(yù)期的輸出從左往右只要存在匹配即可。它相當(dāng)于 Python 的 search() 函數(shù),而非 match() 函數(shù)。舉個(gè)例子你就明白了。
想要登陸到 root 權(quán)限,首先觀察在普通交互模式下的效果。

在獲悉返回字符串的模式后,你可以這樣寫 expect Password,也可以這樣寫 Password:,甚至可以寫成 assw,它們對(duì)于 expect 命令而言都是一樣的。
下面的腳本用來(lái)開啟一個(gè)遠(yuǎn)程 ssh 會(huì)話。
#!/usr/bin/expect spawn ssh user@ip_addr send "password\r" interact
如果想要保存并調(diào)用一些變量,你可以使用 set 參數(shù)進(jìn)行設(shè)置。
公式 set 變量名 [lindex $argv 數(shù)字] 實(shí)例 set port [lindex $argv 1]
之前的 ssh 登陸腳本如果加上變量會(huì)變成下面這樣。大約需要 10 秒的加載時(shí)間。
#!/usr/bin/expect set ip [lindex $argv 0] set user [lindex $argv 1] set password [lindex $argv 2] spawn ssh "$user\@$ip" expect "Password:" send "$password\r"; interact

總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
- linux中expect的介紹與使用示例
- linux自動(dòng)化交互腳本expect詳解
- Linux expect實(shí)現(xiàn)自動(dòng)登錄腳本實(shí)例代碼
- expect實(shí)現(xiàn)批量修改linux密碼腳本分享
- Linux中使用expect腳本實(shí)現(xiàn)遠(yuǎn)程機(jī)器自動(dòng)登錄
- linux expect實(shí)現(xiàn)登陸遠(yuǎn)程主機(jī)并執(zhí)行命令示例代碼
- 詳解Linux使用shell+expect遠(yuǎn)程登錄主機(jī)
- Linux自動(dòng)化交互腳本expect從安裝到開發(fā)詳解
相關(guān)文章
Shell腳本實(shí)現(xiàn)FTP自動(dòng)上傳和下載文件
本文主要介紹了Shell腳本實(shí)現(xiàn)FTP自動(dòng)上傳和下載文件,主要內(nèi)容包括批量下載腳本代碼、下載單個(gè)文件腳本代碼、登錄FTP實(shí)現(xiàn)上傳文件功能、上傳單個(gè)文件腳本代碼等2023-08-08
bash提取字符串${string:position:length}的具體使用
本文主要介紹了bash提取字符串${string:position:length}的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
虛擬機(jī)中使用linux系啟用文件共享之后的文件存在的位置方法
下面小編就為大家?guī)?lái)一篇虛擬機(jī)中使用linux系啟用文件共享之后的文件存在的位置方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
CentOS7運(yùn)行.sh腳本提示syntax error: unexpected end of file的解決方法
這篇文章主要介紹了解決執(zhí)行腳本報(bào)syntax error: unexpected end of file或syntax error near unexpected token fi錯(cuò)誤的問(wèn)題,需要的朋友可以參考下2020-02-02
linux shell腳本基礎(chǔ)知識(shí)學(xué)習(xí)
這篇文章主要介紹linux shell腳本基礎(chǔ)知識(shí),學(xué)習(xí)linux shell編程的朋友可以參考下2013-03-03
linux bash中too many arguments問(wèn)題的解決方法
本文介紹下在linux bash shell中出現(xiàn)too many arguments問(wèn)題的解決辦法,有需要的朋友參考學(xué)習(xí)下2013-11-11
linux awk時(shí)間計(jì)算腳本及awk命令詳解
這篇文章主要介紹了linux awk時(shí)間計(jì)算腳本及awk命令詳解的相關(guān)資料,需要的朋友可以參考下2015-11-11

