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/