Ansible 源码 virtualenvwrapper

Ansible source virtualenvwrapper

我正在尝试使用 Ansible 在远程服务器上获取 virtualenvwrapper 文件。

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

但我收到 Bad Substitution 错误。关于修复它的任何想法..??

Ansible 没有明确使用 /bin/sh 并且 shell 模块使用 shell=True 作为 subprocess 的参数。所以可能 Python 子进程使用 /bin/sh 而不是所有 shell 设置。 shell 模块有一个名为 executable 的选项,可用于指定另一个 shell.

试试这个:

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