我正在使用容器,尝试使用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 }}
在我的主文件play.yml
中定义了所有3个变量的地方。因此,假设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
答案 0 :(得分:1)
像这样设置变量:
swipl -o mystate --stand_alone=true -c myload.pl