apache / tomcat 7 mod_proxy_ajp за аппаратным балансировщиком нагрузки

Я не знаком с Ansible, но из сообщения об ошибке | фактически передается как аргумент dpkg и не интерпретируется как pipe между процессами. Вероятно, Ansible не выполняет команду через оболочку. Поэтому вы должны явно запросить его.

Я точно не знаю, как это сделать, попробуйте один из них:

command: bash -c "dpkg -l | grep python-apt"

или

command: bash -c 'dpkg -l | grep python-apt'

Если оба отказались, у вас все еще есть возможность поместить команды в сценарий оболочки и использовать этот скрипт в своей команде ...


EDIT: из документа:

Команда

- выполняет команду на удаленном узле

Командный модуль принимает имя команды, за которым следует список аргументов, разделенных пробелами. Данная команда будет выполнена на всех выбранных узлах. Он не будет обрабатываться через оболочку, поэтому переменные типа $ HOME и операции типа «& lt;», «>», «|» и «& amp;» не будет работать (используйте модуль оболочки, если вам нужны эти функции).

shell - выполняет команды в узлах

Модуль оболочки принимает имя команды а затем список аргументов, разделенных пробелами. Это почти так же, как командный модуль, но выполняет команду через оболочку (/ bin / sh) на удаленном узле.

Вам, вероятно, придется использовать shell: dpkg -l | grep python-apt

По-прежнему интересно, работало бы мое первоначальное предположение (bash -c "...") ...

0
задан Per 5 March 2019 в 08:34
поделиться