#automation #ansible #ansible-2.x
#автоматизация #ansible #ansible-2.x
Вопрос:
У меня есть файл bat, подобный этому
@echo off
echo please enter Hostname(For Example 127.0.0.1 OR . OR PC-Name)
set /p ServerName="Server Name: "
echo "---------------------ServerName-----------------------------"
echo %ServerName%
echo "-------------------------------------------------"
cls
echo Please Select Authentication Mode:
echo 1- Windows Authentication
echo 2- SQL Server Authentication
set /p AuthMode="Please Enter 1 OR 2: "
Я использую «stdin» в Win_shell, но он получает только один ввод, а AuthMode всегда равен null
my ansible playbook.yml:
- name: Script
Win_shell: D:Myscript.bat
args:
stdin: 127.0.0.1
есть ли какое-нибудь решение?
Комментарии:
1.
expect
Модуль должен работать и в Windows.2. Можете ли вы показать мне в коде, пожалуйста?
Ответ №1:
Попробуйте передать многострочную строку:
- name: Script
Win_shell: D:Myscript.bat
args:
stdin: |
127.0.0.1
2
Вы можете проверить https://yaml-multiline.info / для объяснения того, как создавать многострочные строки в yaml (и почему приведенный выше |
синтаксис означает «сохранять новые строки и иметь одну новую строку в конце»).