我正在尝试使用salt-stack和jinja构建一个脚本。这是我想得到的结果:
#!/bin/bash
echo 1 &&
echo 2 &&
echo 3 &&
echo 4
我有脚本:
init.sls
{% set cmds = [] %}
{% for id in [1, 2, 3, 4] %}
{% do cmds.append("echo " ~ id) %}
{% endfor %}
/tmp/test.sh:
file.managed:
- source: salt://test.sh.jinja
- template: jinja
- mode: 0775
- require:
- file: /tmp
- context:
cmds : '{{ cmds | join(" &&\n") }}'
test.sh.jinja
#!/bin/bash
{{ cmds }}
RESULT
cat /tmp/test.sh
#!/bin/bash
echo 1 && echo 2 && echo 3 && echo 4
所以删除了换行符。怎么解决?谢谢。
答案 0 :(得分:0)
快速查看:https://docs.saltstack.com/en/latest/topics/jinja/index.html#list-files
揭示:
- context:
cmds : {{ cmds | join(' && \n') }}