在linux中,expect是一個自動化交互套件,主要應用于執行命令和程序時,系統以交互形式要求輸入指定字符串,實現交互通信,執行語法為“yum install -y expect”;該腳本能夠執行的前提是需要安裝expect。
本教程操作環境:linux7.3系統、Dell G3電腦。
linux中expect的用法是什么
expect是一個自動化交互套件,主要應用于執行命令和程序時,系統以交互形式要求輸入指定字符串,實現交互通信。
expect自動交互流程:
spawn啟動指定進程—expect獲取指定關鍵字—send向指定程序發送指定字符—執行完成退出.
注意該腳本能夠執行的前提是安裝了expect
yum?install?-y?expect
expect常用命令總結:
-
spawn? ? ? ? ? ? ? ?交互程序開始后面跟命令或者指定程序
-
expect? ? ? ? ? ? ? 獲取匹配信息匹配成功則執行expect后面的程序動作
-
send exp_send? ? ? ?用于發送指定的字符串信息
-
exp_continue? ? ? ? 在expect中多次匹配就需要用到
-
send_user? ? ? ? ? ?用來打印輸出 相當于shell中的echo
-
exit? ? ? ? ? ? ? ? 退出expect腳本
-
EOF? ? ? ? ? ? ? ? ?expect執行結束 退出
-
set? ? ? ? ? ? ? ? ?定義變量
-
puts? ? ? ? ? ? ? ? 輸出變量
-
set timeout? ? ? ? ?設置超時時間
示例:
1.ssh登錄遠程主機執行命令,執行方法 expect 1.sh 或者 ./1.sh
#?vim?1.sh? #!/usr/bin/expect spawn?ssh?saneri@192.168.56.103?df?-Th expect?"*password" send?"123456n" expect?eof
2. ssh遠程登錄主機執行命令,在shell腳本中執行expect命令,執行方法sh 2.sh、bash 2.sh 或./2.sh都可以執行.
#!/bin/bash passwd='123456' /usr/bin/expect?<p>相關推薦:《<a href="http://www.php.cn/course/list/33.html" target="_blank">Linux視頻教程</a>》<br></p>