【问题标题】:How to hardcode answers to multiple prompted questions following a single command in a bash script?如何在 bash 脚本中的单个命令之后硬编码多个提示问题的答案?
【发布时间】:2015-09-24 01:31:33
【问题描述】:

我正在使用 TeamCity 和 Elastic Beanstalk 设置自动化,所以在我的脚本中,我想运行

eb init

然后提示我在哪个区域,然后我想使用什么应用程序的问题。如何对这两个问题的答案进行硬编码?

谢谢!

【问题讨论】:

  • 也许eb 有可以用来指定区域的标志?
  • 我只想回答“3”(对于区域 3)和 这可能不是特定于 EB 或 Teamcity,但我只是标记了它们以防万一有一些我不知道的方法
  • 您是否查看过eb 的文档或一般工具,看看它们是否允许您通过参数或环境变量指定区域和应用程序?
  • @MinaHan 自动回答“3”是脆弱的(如果选项改变了怎么办?如果它开始问别的怎么办?)。最好使用命令行参数或配置文件来提供信息。
  • @MinaHan 更好,但仍然比正确使用该工具差得多。只有当工具不支持您想要以稳健的方式执行的操作时,您才应该尝试读取输出和写入响应

标签: bash ubuntu scripting teamcity amazon-elastic-beanstalk


【解决方案1】:

假设eb 只是从标准输入读取:

eb init <<END_OF_ANSWERS
3
$app_name
END_OF_ANSWERS

如果直接从终端读取,expect 会是一个不错的选择。

【讨论】:

    猜你喜欢
    • 2019-11-10
    • 1970-01-01
    • 2012-10-07
    • 2023-03-24
    • 2020-02-10
    • 2021-11-26
    • 2018-12-14
    • 1970-01-01
    • 2020-06-09
    相关资源
    最近更新 更多