Linux 如何让bash脚本回答交互式提示(仅无y/n)?

Linux 如何让bash脚本回答交互式提示(仅无y/n)?,linux,bash,shell,docker,environment-variables,Linux,Bash,Shell,Docker,Environment Variables,我正在尝试从一个名为的工具构建Docker映像。我可以做几乎所有的事情,但是当我需要运行创建数据库的安装脚本、设置用户名/密码以及为工具本身进行某种默认配置时,我的第一个问题出现了 脚本应被称为(-Installing from Composer): 它会开始问一些问题。这是所问问题的完整示例: ****************** Welcome to PHPCI ****************** Checking requirements... OK Please answer t

我正在尝试从一个名为的工具构建Docker映像。我可以做几乎所有的事情,但是当我需要运行创建数据库的安装脚本、设置用户名/密码以及为工具本身进行某种默认配置时,我的第一个问题出现了

脚本应被称为(-Installing from Composer):

它会开始问一些问题。这是所问问题的完整示例:

******************
 Welcome to PHPCI
******************

Checking requirements... OK

Please answer the following questions:
-------------------------------------

Please enter your MySQL host [localhost]: 
Please enter your MySQL database name [phpci]:
Please enter your MySQL username [phpci]: 
Please enter your MySQL password:   
Your PHPCI URL ("http://phpci.local" for example): http://phpci.localdomain
Use beanstalkd to manage build queue? <yes|no>
Skipping beanstalkd configuration.
Setting up your database... OK
Admin Email: <email>
Admin Name: <user_name>
Admin Password:
User account created!
******************
欢迎来到PHPCI
******************
检查需求。。。好啊
请回答以下问题:
-------------------------------------
请输入您的MySQL主机[localhost]:
请输入您的MySQL数据库名称[phpci]:
请输入您的MySQL用户名[phpci]:
请输入您的MySQL密码:
您的PHPCI URL(“http://phpci.local“例如:http://phpci.localdomain
使用beanstalkd管理生成队列?
正在跳过beanstalkd配置。
正在设置数据库。。。好啊
管理员电子邮件:
管理员姓名:
管理员密码:
用户帐户已创建!
我将这些参数的大部分存储在
ENV
变量中,以便在容器启动后轻松读取它们。或者更好的是,它们可以是
ARG
。我的问题是如何使安装脚本从
ENV
变量读取值


我知道有很多答案,但大多数都是针对
是|否
问题的,这似乎很简单,但我找不到任何关于这一问题的有用答案。欢迎提供任何帮助。

考虑以下两个测试脚本:

tmp()
{
  var=fred
  tmp2 << EOD
$var
EOD
}

tmp2 ()
{
  read var2
  echo $var2
}
“herdeoc”语法允许您在程序结束后在脚本中包含对提示的响应。所以你想做的是

php ./console phpci:install <<EOD
$HOST
$DATABASE
$USERNAME
$PASSWORD
[ ... etc ... ]
EOD

php./console phpci:install考虑以下两个测试脚本:

tmp()
{
  var=fred
  tmp2 << EOD
$var
EOD
}

tmp2 ()
{
  read var2
  echo $var2
}
“herdeoc”语法允许您在程序结束后在脚本中包含对提示的响应。所以你想做的是

php ./console phpci:install <<EOD
$HOST
$DATABASE
$USERNAME
$PASSWORD
[ ... etc ... ]
EOD

php./console phpci:除了herdeoc或
expect以外的安装?@IgnacioVazquez Abrams你说的是哪一个?那就是那一个。除了herdeoc或
expect
?@IgnacioVazquez Abrams你说的是哪一个。