expect 是一個用于自動化交互式應用程序的工具,它可以根據預定義的模式和腳本與程序進行交互
安裝 expect: 在大多數 Linux 發行版中,可以使用包管理器安裝 expect。例如,在 Ubuntu 或 Debian 系統上,可以使用以下命令安裝:
sudo apt-get install expect
編寫 expect 腳本:
創建一個名為 expect_script.exp 的文件,并在其中編寫以下內容:
#!/usr/bin/expect
# 設置超時時間(以秒為單位),如果在此時間內沒有發生預期事件,腳本將退出
set timeout 20
# 啟動交互式程序(例如SSH)并設置用戶名和密碼
spawn ssh user@example.com
expect "password:"
# 發送密碼并按 Enter 鍵
send "your_password\r"
# 等待命令提示符(例如 $ 或 >)
expect "$ "
# 執行命令(例如列出當前目錄的內容)
send "ls\r"
# 等待命令提示符
expect "$ "
# 獲取輸出并打印到屏幕
set output $expect_out(buffer)
puts "Output: $output"
# 退出 SSH
send "exit\r"
expect eof
使腳本可執行:
使用 chmod 命令使腳本可執行:
chmod +x expect_script.exp
運行 expect 腳本:
使用 ./expect_script.exp 命令運行腳本。這將自動執行腳本中的命令并與交互式程序進行交互。
注意:請將上述腳本中的 user@example.com、your_password 和 ls 替換為實際的值。
通過這種方式,您可以使用 expect 命令在 Linux 中自動化交互式程序的調試和操作。