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 中自动化交互式程序的调试和操作。