Синтаксис подстановки {{ }}
Подставляйте переменные в строки и аргументы.
«Синтаксис подстановки {{ }}» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.
Знакомство с Jinja2
Двойные фигурные скобки происходят из Jinja2 — шаблонизатора, который использует Ansible. Всё, что находится внутри них, — выражение для вычисления. 🌟
Базовая подстановка
В простейшем случае {{ name }} заменяется значением name. Ansible вычисляет это выражение до запуска модуля.
msg: "Welcome, {{ name }}!"Следите за пробелами
Пробелы внутри скобок являются общепринятыми и игнорируются: {{ name }} равно {{name}}. Читаемый вариант с пробелами считается стандартным стилем.
Заключайте значение в кавычки, если оно начинается со скобок
Если значение начинается с фигурных скобок, YAML требует заключить всю строку в кавычки. Иначе он примет её за словарь.
name: "{{ app_name }}"Сочетайте текст и переменные
В одной строке можно свободно смешивать обычный текст и подстановки, постепенно создавая пути или сообщения.
path: "/var/www/{{ site_name }}/index.html"Доступ к ключам словаря
Чтобы обратиться к ключу переменной-словаря, используйте точечную или скобочную запись. И db.port, и db['port'] возвращают одно и то же значение.
msg: "DB on {{ db.host }}:{{ db.port }}"Доступ к элементам списка
Обращайтесь к элементу списка по индексу в скобках. Отсчёт начинается с нуля, поэтому packages[0] — первый элемент.
msg: "First package is {{ packages[0] }}"Выражения, а не только имена
В скобках могут находиться настоящие выражения: математические операции, сравнения и даже объединение строк. Ansible вычисляет всё выражение целиком.
msg: "Total: {{ workers * 2 }}"Фильтры преобразуют значения
Конвейер применяет фильтр, изменяющий форму значения. Здесь upper превращает строку в прописные буквы перед выводом.
msg: "{{ region | upper }}"Скобки используются только в строках
Подстановка существует в строковых значениях. Для обычного ключа вроде name значение всё равно нужно заключить в кавычки, если оно начинается с {{ }}.
Следите за неопределёнными переменными
Ссылка на имя, которому никогда не присваивали значение, вызывает ошибку неопределённой переменной. Сначала определите переменную или укажите фильтр значения по умолчанию.
msg: "{{ tier | default('web') }}"Быстрая проверка
Почему для name: {{ app_name }} нужны кавычки?
Итоги
Теперь вы умеете подставлять значения с помощью {{ }}, обращаться к спискам и словарям, применять фильтры и заключать начальные фигурные скобки в кавычки. ✨
Часто задаваемые вопросы
Урок «Синтаксис подстановки {{ }}» бесплатный?
Да — полный текст урока «Синтаксис подстановки {{ }}» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.
Чему я научусь в уроке «Синтаксис подстановки {{ }}»?
Подставляйте переменные в строки и аргументы. Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать DevOps Bootcamp?
Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Синтаксис подстановки {{ }}»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке DevOps Bootcamp?
Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Определение и использование vars в плейбуке
- Синтаксис подстановки {{ }}
- Дополнительные переменные в командной строке
- Источники переменных и их приоритет