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/