В упаковщике, как мне добавить буквенные скобки {{}} в строку без вызова функции? - PullRequest
0 голосов
/ 27 апреля 2020

Ansible поддерживает макрос {{CWD}}.

Упаковщик использует {{}} для функций и переменных.

Я не вижу способа избежать синтаксиса {{function_name}}, поэтому что я могу поставить в буквальном смысле {{CWD}}. Я пробовал кучу разных вещей, в том числе с использованием скобок Юникода (не работало), но они всегда заканчивали тем, что были недействительными или пытались вызвать несуществующую функцию CWD, которая явно нарушает упаковщик.

Это пример строки, которую я пытаюсь заставить работать.

"extra_arguments": [ "--extra-vars", "roles_path={{.CWD}}/temp-roles" ],

Я нашел хакерский обходной путь. Просто возьмите переменную $ PWD, предоставленную оболочкой, и передайте ее, затем используйте ее там, где я использовал CWD. Это НЕ отвечает на мой вопрос, и, глядя на библиотеку шаблонов Go, на которой она основана, я не думаю, что можно избежать фигурных скобок.

  "variables": {
    "pwd": "{{env `PWD`}}"
  },

      "extra_arguments": [ "--extra-vars", "roles_path={{user `pwd`}}/temp-roles" ],
...