3 votos

¿Puedo utilizar la salida de un shell script para establecer env vars desde launchd?

Estoy usando launchd para establecer una var env al inicio utilizando launchctl setenv .

El script funciona bien cuando la variable está codificada en él, pero desafortunadamente necesito obtener esta variable dinámicamente al inicio desde un script.

La razón por la que intento utilizar launchd para ello (en lugar de utilizar .zshrc ejecutar export MYVAR=... ) es que el script me pedirá una contraseña antes de devolver el valor deseado, y no quiero introducir la contraseña cada vez que abra un intérprete de comandos.

Si utilizara Linux, podría simplemente utilizar .zprofile para esto, que sólo se abastece de conchas de inicio de sesión, que sólo ocurre en el inicio de sesión del sistema. Pero esto es MacOS: cada es un intérprete de comandos de inicio de sesión, y por lo tanto todas las fuentes de intérpretes de comandos .zprofile junto con el resto de archivos. De ahí mi intento de hacerlo en launchd .

Así que mi pregunta es:

¿Existe alguna forma de que launchd "lea" la salida de un shell interactivo script, y luego utilice esa salida como entrada para el comando launchctl setenv ¿Mando?

1voto

Linc D. Puntos 11

Podrías añadir un LaunchAgent que ejecute tu script al iniciar sesión y luego llame a launchctl setenv con el resultado. O mejor aún, envuelva el script en una aplicación de Automator y añádalo a sus elementos de inicio de sesión.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X