bugfix> jinja2 > 投稿

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  }}

結果

cat /tmp/test.sh

#!/bin/bash
echo 1 && echo 2 && echo 3 && echo 4

そのため、改行は削除されました。修正方法ありがとうございました。

回答 1 件
  • クイックルック:https://docs.saltstack.com/en/latest/topics/jinja/index.html#list-files
    明らかに:

       - context:
          cmds : {{ cmds | join(' && \n') }}
    
    

あなたの答え