如何使用Ansible运行询问用户输入的脚本



我想使用Ansible运行一个shell脚本,但是shell脚本要求用户输入成功执行,

例如:我的shell脚本询问 ossec agent的唯一ID,通过Ansible我能够预先定义我的unique id (user input(。

您需要使用预期模块:https://docs.ansible.com/ansible/latest/modules/expect_module.html

- name: Case insensitive unique id string match
  expect:
    command: ./myscript.sh
    responses:
      "Please enter your uniqueid": "myID"
      # Your input in myscript.sh
  no_log: true

要求

在执行此模块的主机上需要以下要求。

python> = 2.6

pexpect> = 3.3

这可以帮助您作为起点:

- hosts: localhost
  connection: local
  vars_prompt:
  - name: your_name
    prompt: "Enter your name"
    private: no
  tasks:
  - name: print name
    assert: that="your_name.strip()"
    args:
      msg: "The your_name argument shouldn't be empty!"
  - debug:
        var: your_name

在此处查看有关promptsvars_prompt

相关内容

  • 没有找到相关文章

最新更新