Команда envsubst в Linux с примерами

Команда envsubst в Linux с примерами

Утилита envsubst в Linux используется для замены переменных среды их соответствующими значениями в заданном тексте. Этот инструмент является частью пакета GNU gettext. Команда envsubst особенно полезна при работе с файлами настроек или шаблонами, где значения переменных должны подставляться динамически.

В этой статье мы расскажем, как использовать утилиту envsubst в ОС Linux.

Содержание:

  1. Базовый синтаксис команды envsubst
  2. Подготовка к работе с утилитой envsubst
  3. Подстановка значений для всех переменных среды в файле
  4. Сохранение значений переменных в файл
  5. Замена одной или нескольких переменных из файла
  6. Удаление переменной среды из Linux
  7. Выводы

Базовый синтаксис команды envsubst

Синтаксис команды envsubst выглядит следующим образом:

 

Где:

  • [OPTION] — необязательные опции, которые расширяет функционал утилиты;
  • [SHELL-FORMAT] — переменные окружения, значения которых необходимо подставить в текст (если переменные не указаны, подставляются значения всех переменных, упомянутых в шаблоне).

Перед началом использования envsubst рекомендуем ознакомиться с ее справочной страницей man:

 

man envsubst

Читайте также: Чтение man-страниц с помощью tldr в Linux.

Подготовка к работе с утилитой envsubst

Для начала создадим простой документ example.txt со следующим содержимым:

 

В текстовом файле присутствуют переменные окружения:

  • NAME — имя человека;
  • POSITION — должность;
  • COMPANY — место работы.

example file

Подстановка значений для всех переменных среды в файле

Для примера установим для наших переменных следующие значения:

  • NAMEBob;
  • POSITIONteacher;
  • COMPANYlocal school.

Чтобы выполнить эту задачу, воспользуемся утилитой export:

 

Теперь, чтобы заменить названия переменных на их значения в файле example.txt, запустим команду, указанную ниже:

 

Replace environment variables

Читайте также: Специальные переменные в скриптах Bash.

На скриншоте показано, что выполненная команда отобразила на экране содержимое example.txt с заменой переменных их значениями.

Важно: текст в файле example.txt остался без изменений.

Сохранение значений переменных в файл

Предположим, что нам нужно сохранить вместо названий переменных в файле их значения. Для решения этой задачи можно использовать механизм перенаправления ввода-вывода:

 

save replacement to file

Замена одной или нескольких переменных из файла

Функционал утилиты envsubst позволяет подставлять значения для одной или нескольких переменных. Например, чтобы заменить только переменную NAME из нашего файла ее значением, выполним следующую команду в терминале:

 

one variable replacement

Чтобы дополнительно подставить в текст значение POSITION, модифицируем предыдущую команду следующим образом:

 

multiple variable replacement

Читайте также: Команда cut в Linux с примерами.

Удаление переменной среды из Linux

Ранее мы демонстрировали работу инструмента envsubst с переменными, сохраненными в операционной системе Linux. Но что произойдет, если удалить эти переменные из ОС? Давайте удалим NAME и COMPANY из окружения Linux и затем выполним команду envsubst:

 

unset variables

Как показано на скриншоте, вместо названий переменных NAME и COMPANY ничего не отображается.

Выводы

Утилита envsubst — простой инструмент, который позволяет динамически изменять содержимое текстовых документов. В этой статье мы показали на практике, как использовать функционал этой команды в ОС Linux.

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики