Как передать переменные окружения с помощью команды сервиса FreeBSD?

Как передать переменные окружения с помощью команды сервиса FreeBSD?

В rc.subr ${name}_envуказано следующее для настройки переменной среды:

${name}_env   A list of environment variables to run command
              with.  This will be passed as arguments to
              env(1) utility.

Поэтому я попробовал использовать его следующим образом, через мой rc.conf для моего демона с именем /etc/rc.d/mydaemon.

в /etc/rc.conf:

mydaemon_env="MYD_ROOT"

При запуске возникает ошибка:

# root @ rahul in /etc/rc.d [10:52:49]
$ service mydaemon onestart
Starting mydaemon.
env: MYD_ROOT: No such file or directory
/etc/rc.d/mydaemon: WARNING: failed to start mydaemon

Может ли кто-нибудь подсказать, что мне не хватает?

решение1

Предполагается, что он будет в формате NAME=VALUE.

mydaemon_env="MYD_ROOT=value"

решение2

Недавно в команду был добавлен новый флаг service. С помощью этого -Eфлага теперь можно устанавливать переменные окружения при запуске демона с помощью serviceкоманды. Новый флаг будет доступен в FreeBSD 14.0 и более поздних версиях. По состоянию на 2023-09-04 он не был объединен обратно в старые стабильные ветки.

Некоторые ссылки:

Связанный контент