Как сгенерировать скрипт с помощью стека соли с символами новой строки - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь построить скрипт, используя соленый стек и дзиндзя.Это результат, который я хочу получить:

#!/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 Ответ

0 голосов
/ 30 мая 2018

Быстрый просмотр: https://docs.saltstack.com/en/latest/topics/jinja/index.html#list-files
Показывает:

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