Ansible-环境变量剧本
我需要在目标机器中设置环境。环境变量存在于名为.env的文件中。该文件中有几个变量,如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:
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