我是ansible的新手,并试图学习基本的东西......
我正在尝试使用ansible执行以下shell脚本...此脚本包含需要用户输入的大小写条件。但是当在ansible中运行时,它不会询问任何事情并完成任务。我希望我的ansible在执行期间询问i / p并相应地执行脚本。
- hosts: localhost
tasks:
- name: Execute the script
shell: /usr/bin/sh /root/ansible_testing/testing.sh
shell脚本片段是......
echo "Press 1 for Backup"
echo "Press 2 for MakeChange"
echo "Press 3 for Keepsafe"
echo "*******************************************"
echo -n "Enter your choice : "
read choice2
case $choice2 in
1)
echo "Hello"
答案 0 :(得分:0)
有很多方法你可以用bash来做到这一点(这是一个非常好的答案here)。但是,如果您想以Ansible方式完成此操作,则可以使用expect module。
- name: Execute the script
expect:
command: /usr/bin/sh /root/ansible_testing/testing.sh
responses:
"Enter your choice": "1"
在此示例中,Enter your choice
是正则表达式,它将匹配输入" 1"。如果有多个提示使用Enter your choice
Ansible将输入" 1"对所有人来说。