Expect是一個用于自動化交互式應用程序的工具,如登錄、文件傳輸等
首先,確保已經安裝了Expect。在Ubuntu或Debian系統中,可以使用以下命令安裝:
sudo apt-get install expect
接下來,創建一個名為expect_script.exp
的Expect腳本文件,并添加以下內容:
#!/usr/bin/expect
# 設置超時時間(以秒為單位),如果在此時間內沒有收到預期的字符串,腳本將退出
set timeout 10
# 設置命令變量,用于執行外部命令
set cmd "echo 'Hello, World!'"
# 使用spawn命令啟動外部命令
spawn $cmd
# 使用expect命令等待預期的字符串
expect "Expected string" {
# 當收到預期的字符串時,執行相應的操作
send "Your response here\r"
}
# 捕獲命令的輸出
set output $expect_out(buffer)
# 打印輸出結果
puts "Output: $output"
在這個示例中,我們使用Expect腳本來運行一個簡單的echo
命令,并等待預期的字符串(在這里是"Expected string")。當收到預期的字符串時,我們發送一個響應(在這里是"Your response here")。
要運行Expect腳本,請在終端中輸入以下命令:
./expect_script.exp
請注意,Expect腳本的語法和特性可能會因版本而異。上述示例使用的是較舊的Expect語法,但大多數現代Expect腳本都遵循類似的模式。要了解更多關于Expect的信息,請參閱其官方文檔:https://expect.sourceforge.io/