Como passar variáveis ​​de ambiente com o comando de serviço do FreeBSD?

Como passar variáveis ​​de ambiente com o comando de serviço do FreeBSD?

O rc.subr ${name}_envespecifica isso para definir a variável de ambiente:

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

Então tentei usá-lo como estes métodos, através do meu rc.conf para meu daemon chamado /etc/rc.d/mydaemon.

em /etc/rc.conf:

mydaemon_env="MYD_ROOT"

Isso dá erro ao iniciar:

# 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

Alguém poderia ajudar no que estou perdendo?

Responder1

É suposto estar no formato NAME=VALUE.

mydaemon_env="MYD_ROOT=value"

Responder2

Um novo sinalizador foi adicionado recentemente ao servicecomando. Com a -Eflag, agora é possível definir as variáveis ​​de ambiente ao iniciar um daemon com o servicecomando. A nova flag estará disponível no FreeBSD 14.0 e posterior. Em 04/09/2023, ele não foi fundido novamente em filiais estáveis ​​mais antigas.

Algumas referências:

informação relacionada