linux - 在 linux 中自动安装二进制文件

标签 linux binary automation installation provisioning

我有一个名为 engine.bin 的 Bourne-Again shell 脚本文本可执行文件,我想安装它。

如果我手动安装可执行文件 ./engine.bin 我会看到一个屏幕,其中包含我必须接受的 EULA(通过按空格),然后通过写入 yes 来接受它> 然后通过键入 /usr/local/engine 输入安装路径。

现在我想通过供应脚本自动完成安装无需手动交互。有没有办法做到这一点?我不知道安装程序是否接受任何参数,不幸的是,这件事没有记录。

最佳答案

根据 bill-agee 和 jgr208 的建议,我写了以下对我有用的内容:

#!/usr/bin/expect -f
set timeout -1
spawn /tmp/engine.bin
expect {
   -gl "*Press SPACE or PAGE DOWN key to continue, U or PAGE UP key to scroll back*" { send -- " "; exp_continue }
   -gl "*yes/no*"
}
send -- "yes\r" 
expect -gl "*press ENTER to accept the default*"
send -- "/tmp/tce\r"
expect eof

关于linux - 在 linux 中自动安装二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36842015/

相关文章:

linux - 设置用户环境变量并将其应用于新进程

c++ - Linux 在独立于 Windows 管理器的屏幕上绘图

linux - 对于在 MacOS 上运行的程序,套接字绑定(bind)()失败并出现无效参数错误

java - 按位运算符简单地翻转整数中的所有位?

selenium - 如何利用保存的Chrome密码来实现自动登录脚本,这样我就不必在脚本中输入纯文本密码?

java - 如何自动将代码添加到我创建的每个类中

android - 在 Linux/Android 上检查从另一个共享库加载的共享库

c - 二进制形式的文件

c# - 将逗号分隔的二进制字符串转换为 byte[] 以插入注册表

python - 属性错误 : 'unicode' object has no attribute 'sleep'