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