gpt4 book ai didi

linux - 期望 - 不按要求发送文本

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:56:02 27 4
gpt4 key购买 nike

我正在开发一个脚本,用于对软件安装进行回归测试。期望代码如下。前几行代码在浏览并同意许可证文件的地方运行良好。但是,脚本在“请输入有效许可证文件的路径名:”处停止,并且不执行任何操作。 (注意:手动安装顺利进行)。

此外,请注意所有输入的光标始终位于显示文本的右侧;但在最后一个提示(“请输入有效许可文件的路径名:”)的情况下,光标位于文本下方和下面的行中。我不确定这是否与问题有关。

我做错了什么?我该如何调试这个问题?感谢大家的帮助。

谢谢纳齐尔

代码如下:

#!/usr/bin/expect
spawn ./temp
expect {
"More--*" {
send " "
exp_continue
}
"Do you accept this license agreement?*" {
send "yes\r"
}
}
expect "Do you want to use the default path?*" { send "yes\r" }
expect "This load path does not exist. Do you want to create it?*" { send "yes\r" }
expect "Please enter the pathname to a valid license file:*" { send "/path_to_file\r" }
interact

输出结果如下:

.....(license stuff)

Do you accept this license agreement? [no] yes

Please specify where the xxx software will be loaded.
The default location is /usr/local/aaa.
Do you want to use the default path? [yes] yes

The software will not run without a valid license file installed.
Please enter the pathname to a valid license file:

最佳答案

您可以使用 -d 开关在 expect 中进行调试:

#!/usr/bin/expect -d

它非常冗长,帮助我纠正了在编写 expect 时犯下的无数小错别字。

关于linux - 期望 - 不按要求发送文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18804990/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com