我正在使用ansible在ubuntu bashrc中添加永久环境变量。
我在prod_vars
文件中定义了这些设置:
enviornment_variables:
PRODUCTION:
MONGO_IP: 0.0.0.0
MONGO_PORT: 27017
ELASTIC_IP: localhost
ELASTIC_PORT: 9200
如何使用task
导出它?我知道lineinfile
模块,但我不想重复每个env var
- name: set env in the bashrc files
lineinfile: dest=/home/user/.bashrc line='export MONGO_IP=enviornment_variables[PRODUCTION][MONGO_IP]'
上面的命令也给出了synatx错误?
答案 0 :(得分:3)
使用lineinfile
模块,而不是使用blockinfile
模块。
所以像这样的东西应该工作:
- name: Adding to environment variables for user
blockinfile:
path: /home/user/.bashrc
insertafter: EOF
block: |
export {{ item.key }}={{ item.val }}
marker: "# {mark} {{ item.key }}"
with_dict:
"{{ enviornment_variables['PRODUCTION'] }}"
ps:“环境”中的拼写错误确实需要20多分钟才能识别出来!