使用容器,我尝试使用Python3 Ansible v0.2.4.2.0创建一个.bashrc
文件。我也在使用Ansible角色。
- name: Adding environment vars to .bashrc file
blockinfile:
path=/.bashrc
insertafter: EOF
block: |
export VAR1={{ var1 }}
export VAR2={{ var2 }}
export VAR3={{ var3 }}
其中所有3个变量都在我的主文件play.yml
中定义。因此,假设var1
等于"-a -b -c"
(包括引号),var2
等于"d"
,var3
等于"e"
然后,在我运行play.yml
之后,我的.bashrc
文件如下所示:
export VAR1=-a -b -c
export VAR2=d
export VAR3=e
但我真正想要的是
export VAR1="-a -b -c"
export VAR2="d"
export VAR3="e"
如果我没有VAR1
的报价,那么运行source /.bashrc
会给我:
bash: export: `-a: not a valid identifier
bash: export: `-b: not a valid identifier
bash: export: `-c: not a valid identifier
我试过了:
- name: Creating .bashrc file
blockinfile:
path=/.bashrc
insertafter: EOF
block: |
export VAR1=\"{{ var1 }}\"
export VAR2=\"{{ var2 }}\"
export VAR3=\"{{ var3 }}\"
但这不会将引号添加到我的.bashrc
文件中。我仍然得到相同的结果。我可以做些什么来添加报价?我还尝试添加\"\"
,这会在每一行的开头添加\"\"
。因此,当我尝试运行source /.bashrc
时,这也不起作用
发布于 2018-10-25 03:48:48
像这样设置你的变量:
var1: '"fred"'
var2: '"barney"'
var3: '"wilma"'
https://stackoverflow.com/questions/52975274
复制相似问题