【问题标题】:How do you send the ENTER keypressed to ansible's expect?你如何将按下的 ENTER 键发送到 ansible expect?
【发布时间】:2016-11-01 23:59:07
【问题描述】:

我想编写使用他们的安装程序安装应用程序的剧本。我正在使用 ansible 的 expect 模块来执行此操作。在安装开始时,它要求按ENTER 继续安装。我如何发送期望 ENTER 按键?

【问题讨论】:

  • 你试过child.sendline()吗?

标签: ansible ansible-playbook pexpect


【解决方案1】:

有一个名为 yes 的 linux 命令“输出肯定的响应,或用户定义的文本字符串”。

我没有检查它,但你可以尝试使用:

- shell: yes '' | your command goes here

看看simulation keypress in bash script

拍摄from documentation

如果你想通过shell运行一个命令(比如你使用<>|等),你必须在命令中指定一个shell,比如/bin/bash -c "/path/to/something | grep else"

因此,您可以尝试/bin/bash -c "echo" 或类似的回复,例如:

responses:
  press_enter: /bin/bash -c "echo"

【讨论】:

  • 我想将它与expect 模块而不是shell 模块一起使用。
  • 看看documentation,你可以试试echo作为答案
  • @LowKianSeong,我稍微改变了答案。如果你解决了你的问题并且你有一些东西要添加 - 改进它!我可能弄错了语法
猜你喜欢
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 2020-09-30
  • 2010-12-08
  • 1970-01-01
相关资源
最近更新 更多