要使用Ansible原始模块进行交互,可以通过以下步骤实现:
创建一个Ansible playbook文件,例如interact.yml
。
在playbook文件中定义一个任务,使用command
模块或shell
模块执行原始命令。例如:
- name: Execute command interactively
hosts: all
tasks:
- name: Run interactive command
command: |
echo "Hello, what is your name?"
read name
echo "Welcome, $name!"
register: result
args:
echo: no
在这个示例中,我们使用command
模块执行一系列交互式命令,使用register
选项将输出存储在result
变量中。
debug
模块打印输出结果。例如: - name: Print output
debug:
var: result.stdout_lines
这将打印出结果的标准输出行。
ansible-playbook
命令。例如:$ ansible-playbook interact.yml
这将在所有主机上执行playbook,并显示交互式命令的结果。
请注意,Ansible的原始模块执行命令时,并不会提供与用户的交互,因此需要事先定义好交互过程中需要输入的命令,而不能实时与用户交互。