Ansible source virtualenvwrapper

Я пытаюсь найти файл virtualenvwrapper на удаленном сервере с помощью Ansible.

- name: Source virtualenvwrapper
  shell: >
    . /usr/local/bin/virtualenvwrapper.sh

Но я получаю Bad Substitution ошибка. Любые идеи по исправлению..

1 ответ

Решение

Ansible не использует явно /bin/sh и модуль оболочки использует shell=True в качестве аргумента для подпроцесса. Так что, вероятно, подпроцесс Python использует /bin/sh, а не все параметры оболочки. Существует опция для модуля оболочки с именем исполняемый файл, которая может использоваться для указания другой оболочки.

Попробуй это:

- name: Source virtualenvwrapper
  shell: >
    . /usr/local/bin/virtualenvwrapper.sh
  args:
    executable: /bin/bash
Другие вопросы по тегам