EULA接受Bash脚本

时间:2012-01-31 20:32:18

标签: linux bash

我有一个试图安装垃圾箱的脚本。

除了.bin打开更多的EULA之外,一切正常。 在脚本再次开始之前,您必须从此更多实例中手动ctrl c并自行完成安装。

因为更多的是逃避shell,脚本在打开后不会知道要运行什么。 有没有办法期望找到这个并防止它?

没有自定义标志可以自动接受eula。

我到处寻找解决方案,但似乎没有任何效果。

命令本身很简单但在heredoc之前被阻止

/bin/bash gp.bin << AUTO
REST
OF
PARAMETERS
AUTO

2 个答案:

答案 0 :(得分:3)

您应该能够使用“q”退出更多,但这只能以交互方式工作。

如果安装脚本编写得很好,那么您可以使用除了更多内容之外的其他内容作为寻呼机。尝试:

export PAGER=cat

看看行为是否发生了变化。

如果你仍然被卡住,你可能需要查看Expect而不是heredoc。

答案 1 :(得分:2)

expect可以发送Ctrl-C:http://expect.sourceforge.net/FAQ.html#q54

例如:

#!/usr/bin/env expect

spawn "/vendor/install/script.sh"
expect "EULA blah blah blah"
send \003
#rest of expect script...

但请尝试已建议的PAGER环境变量。