1 votos

Establecer variables de entorno para scripts ejecutados por launchd?

Tengo un script que funcionaba en el pasado, pero parece tener problemas ahora (creo que es debido a Yosemite). Lo que había hecho era crear una variable de entorno que se ponía a "false" y luego mi script lo ponía a "true" para que si el script tardaba demasiado y volvía a empezar antes de terminar no intentara ejecutarse de nuevo de forma concurrente. Sin embargo, ya no funciona.

Inicialmente establecí la variable con /etc/launchd.conf

setenv autoBackupImagesInProgress false

Y la parte de mi script que ya no funciona es

#Ensure that this script isn't already running
if [ -z "$autoBackupImagesInProgress" ] ; then
   #Concurrency variable was not setup so this will not work;
   #edit .bashrc or .profile to include export autoBackupImagesInProgress=false
   #should be /etc/launchd.conf
   print "WARNING: Concurrency protection unavailable"
elif [ $autoBackupImagesInProgress = true ] ; then
   #Another process has already started this, but has not yet finished
   print "WARNING: Already in progress; aborting."
   exit 0;
fi

Esto funciona si inicio el script desde la terminal o Spotlight, pero no cuando este se inicia con launchd. Cuando se ejecuta desde launchd esto siempre imprimirá la primera advertencia y nunca llega a la elif.

1voto

jherran Puntos 6511

Abra su script Editor(Launch Pad -> Other -> script Editor) Escriba script así:

do shell script "launchctl setenv autoBackupImagesInProgress false"

Utilice varias líneas si desea establecer varias variables.

Guarde este script como Aplicación, abra Preferencias del sistema → Usuarios y grupos → su usuario → Elementos de inicio de sesión y añada su script guardado.

Para aplicar los cambios, salga de su cuenta y vuelva a entrar.

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