экспортировать все переменные из среды EnvironmentFiles

Я хотел бы экспортировать все переменные, используемые определенной службой systemd, и указывается в его файле с помощью EnvironmentFile .

Например, foo.service :

 [Service] ... EnvronmentFile=/foo.env EnvronmentFile=/bar.env 

foo.env :

 a=1 #b=2 c=3 

Поэтому я думал добавить к моему bashrc что-то вроде

 set -a grep EnvironmentFile /etc/systemd/system/foo.service | grep -v '^ *#' | cut -d'=' -f2 | xargs -I {} bash -c 'source {};' set +a 

как указано в этом ответе .

Есть ли более элегантное решение?

One Solution collect form web for “экспортировать все переменные из среды EnvironmentFiles”

Это не сработает, потому что вы выполняете новую оболочку bash для создания «источника»,

Пытаться:

 load_env() { local files=( $(egrep '^[ ]*EnvironmentFile' "$1" ) ) local f set -a for f in "${files[@]}" do . "${f##*=}" # this expression delete the EnvironmentFile= part done set +a } load_env /etc/systemd/system/foo.service 
  • Устройство блокировки Systemd перед другим блоком
  • Как понять и смягчить удаленные атаки Evil DNS в Linux-системах?
  • При создании демона init.d, какой файл .service?
  • Как я могу запустить команду, если отключен служебный модуль systemd?
  • Синхронизировать почту с помощью offlineimap через службу / таймер systemd; получение пароля из гнома
  • Почему служба запускается, если она не упоминается в /etc/init.d?
  • Bash всегда выводит меньше, как я могу отключить это?
  • SystemD не запускает ExecStartPre, пока я не перезагружу и не перезагружу службу
  • Файлы журналов для паники ядра в Arch Linux
  • Файл systemctl .service работает не так, как ожидалось
  • установка / настройка и запуск sshguard на debian
  • Interesting Posts

    Как связать горячую клавишу с конкретным виртуальным рабочим столом в Openbox?

    Могу ли я искать файл в соответствии с конкретными типами символов?

    Есть ли средство командной строки для чтения байтовых секторов / кластеров с определенных адресов на диске?

    Systemd: останавливать основной процесс (или службу) при сбое подпроцесса

    Получение IP-адреса веб-сайта с помощью «хоста»?

    Вырезать команду для поиска данных между строками

    Как применять обновления для OpenBSD, NetBSD и FreeBSD?

    Как обмануть приложение, ожидающее файл: // читать из stdin?

    Сценарий Bash не может обнаружить диск

    CentOS – значение уровней / цветов индикатора уровня загрузочного экрана

    Кодирование кириллических имен файлов в zip-файлах

    Автозапуск виртуальной машины VBoxHeadless при загрузке с помощью Upstart – init и Graceful exit

    Есть ли способ изменить цветную тему w3m?

    Правила udev не запускают скрипт при добавлении USB-устройства

    Как отлаживать ошибки конфигурационного файла Alsa?

    Linux и Unix - лучшая ОС в мире.