¿Cómo pasar variables de entorno con el comando de servicio FreeBSD?

¿Cómo pasar variables de entorno con el comando de servicio FreeBSD?

El rc.subr ${name}_envespecifica esto para configurar la variable de entorno:

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

Así que intenté usarlo como estos métodos, a través de mi rc.conf para mi demonio llamado /etc/rc.d/mydaemon.

en /etc/rc.conf:

mydaemon_env="MYD_ROOT"

Esto da error al 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

¿Alguien podría ayudarme con lo que me falta?

Respuesta1

Se supone que está en formato NAME=VALUE.

mydaemon_env="MYD_ROOT=value"

Respuesta2

Recientemente se agregó una nueva bandera al servicecomando. Con la -Ebandera, ahora es posible configurar las variables de entorno al iniciar un demonio con el servicecomando. La nueva bandera estará disponible en FreeBSD 14.0 y posteriores. A partir del 4 de septiembre de 2023, no se ha vuelto a fusionar con ramas estables más antiguas.

Algunas referencias:

información relacionada