Ansible-环境变量剧本

Ansible-环境变量剧本,ansible,environment-variables,Ansible,Environment Variables,我需要在目标机器中设置环境。环境变量存在于名为.env的文件中。该文件中有几个变量,如 export AB_HOME=/tl/dev/abinit/abinit-V3 #/gcc3p32 # for 32-bit export PATH=${AB_HOME}/bin:${PATH} 我尝试了下面的剧本来设置环境并注册环境变量,以便在environment关键字中使用它们 - hosts: dev gather_facts: false tasks: - name:

我需要在目标机器中设置环境。环境变量存在于名为.env的文件中。该文件中有几个变量,如

export AB_HOME=/tl/dev/abinit/abinit-V3  #/gcc3p32   # for 32-bit
export PATH=${AB_HOME}/bin:${PATH}
我尝试了下面的剧本来设置环境并注册环境变量,以便在environment关键字中使用它们

- hosts: dev
  gather_facts: false
  tasks:   
    - name: set the environment
      shell: 'su <user_id> & . ./.env'
      args:
        chdir: /path for the file
      register: output1

    - debug: var=output1
我尝试了cat文件,我能够找到变量列表,但我不知道如何在playbook中使用它。该文件还包含#开头和后面的一些变量,如下所示

export AB_HOME=/tl/dev/abinit/abinit-V3  #/gcc3p32   # for 32-bit

完全重复。@VladimirBotka它不是重复的实际上它是一个延续,我试图通过使用命令../运行env文件来设置环境。为了读取导出的变量,我使用了register变量。但寄存器变量为空“已更改”:true,“cmd”:./.env”,“delta”:“0:00:00.049610”,“end”:“2020-02-18 09:22:16.912490”,“failed”:false,“rc”:0,“start”:“2020-02-18 09:22:16.862880”,“stderr”:“stderr_行”:[],“stdout”:,“stdout_line”:[],@VladimirBotka我还尝试使用下面的剧本打印环境变量,该变量也返回空值。shell:“su&../。env&echo$AB_HOME“register:output1运行文件和获取环境变量是否有任何变通方法
export AB_HOME=/tl/dev/abinit/abinit-V3  #/gcc3p32   # for 32-bit