【问题标题】: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
  • 看看sexpect

标签: bash ubuntu-16.04 expect


【解决方案1】:

我建议先尝试不使用expect

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

【讨论】:

  • 谢谢,被期待所淹没,直到昨晚我也从未使用过 bash,但这很好用!
  • 正如glenn jackman 建议的那样,使用here-doc 会变得更具可读性。
猜你喜欢
  • 2016-02-24
  • 2012-12-19
  • 2011-07-07
  • 2019-02-13
  • 1970-01-01
  • 2016-09-29
  • 1970-01-01
  • 2020-09-21
  • 1970-01-01
相关资源
最近更新 更多