首頁 > 運維 > linux運維 > linux中expect的用法是什麼

linux中expect的用法是什麼

WBOY
發布: 2021-12-31 17:01:36
原創
6591 人瀏覽過

在linux中,expect是一個自動化互動套件,主要應用於執行命令和程式時,系統以交互形式要求輸入指定字串,實現交互通信,執行語法為“yum install -y expect” ;該腳本能夠執行的前提是需要安裝expect。

linux中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                  

  • puts                輸出變數
  • set timeout         設定逾時時間
  • #1.執行主機指令#1.ssh指令#1.方法expect 1.sh 或./1.sh
  • # vim 1.sh 
    #!/usr/bin/expect
    spawn ssh saneri@192.168.56.103 df -Th
    expect "*password"
    send "123456\n"
    expect eof
    登入後複製

    2. ssh遠端登入主機執行指令,在shell腳本中執行expect指令,執行方法sh 2.sh、bash 2.sh 或./2 .sh都可以執行.

    #!/bin/bash
    passwd='123456'
    /usr/bin/expect <<-EOF
    set time 30
    spawn ssh saneri@192.168.56.103 df -Th
    expect {
    "*yes/no" { send "yes\r"; exp_continue }
    "*password:" { send "$passwd\r" }
    }
    expect eof
    EOF
    登入後複製
    相關推薦:《Linux影片教學

    以上是linux中expect的用法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板