重击期待并再次回来

Posted

技术标签:

【中文标题】重击期待并再次回来【英文标题】:Bash to expect and back again 【发布时间】:2018-09-10 19:25:47 【问题描述】:

我正在创建一个脚本来设置一系列计算机。要安装的应用程序之一是 mysql 数据库。 bash 脚本将调用

sudo mysql_secure_installation

expect 脚本必须响应此命令按顺序输出的问题,答案将被硬编码并且对所有人都是一样的。

问题和回答是

Enter current password for root (enter for none): Just press the Enter
Set root password? [Y/n]: Y
New password: Enter password
Re-enter new password: Repeat password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]:  Y
Reload privilege tables now? [Y/n]:  Y

【问题讨论】:

Stack Overflow 是一个面向专业和爱好者程序员的问答网站。请展示您的编码工作。 如果这是一个基于 Debian 的平台,正确的解决方案是包含对提示的回复的 debconf 预置文件。其他专业环境也提供类似的东西。 Ubuntu 16.04 lts ***.com/questions/7739645/…的可能重复 看看sexpect 【参考方案1】:

我建议先尝试不使用expect

echo -e '\nY\nfoobar\nfoobar\nY\nY\nY\nY' | sudo mysql_secure_installation

【讨论】:

谢谢,被期待所淹没,直到昨晚我也从未使用过 bash,但这很好用! 正如glenn jackman 建议的那样,使用here-doc 会变得更具可读性。

以上是关于重击期待并再次回来的主要内容,如果未能解决你的问题,请参考以下文章

Java将int转换为十六进制并再次转换回来

将 RDD 转换为 DataFrame 并再次转换回来的开销是多少?

如何避免让不再有用​​的异步重击(应用程序不再期待它)能够更新状态?

jQM在关闭对话框或导航回来时,再次触发事件

vue实现点击变色再次点击变回来

如何从终端分离程序并将其附加回来?