3 votos

launchctl plist tiene un stderr que habla de que la operación getcwd no está permitida así que ¿cómo lo arreglo?

Llegué a través de este responder para ayudarme a crear un script que actualice un symlink cada día.

Y había un artículo se enlaza para enseñarme a usar plist y launchctl

Así que este es mi plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>

    <key>Label</key>
    <string>com.journal.today.plist</string>

    <key>RunAtLoad</key>
    <true/>

    <key>StandardErrorPath</key>
    <string>/Users/kim/journals/stderr.log</string>

    <key>StandardOutPath</key>
    <string>/Users/kim/journals/stdout.log</string>

    <key>EnvironmentVariables</key>
    <dict>
      <key>PATH</key>
      <string><![CDATA[/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin]]></string>
    </dict>

    <key>WorkingDirectory</key>
    <string>/Users/kim/journals</string>

    <key>ProgramArguments</key>
    <array>
      <string>./makeTodaySym.sh</string>
    </array>

  </dict>
</plist>

Cuando compruebo el stderr veo lo siguiente

shell-init: error retrieving current directory: getcwd: cannot access parent
  1 bash: ./makeTodaySym.sh: Operation not permitted

stdout.log estaba vacío

¿Cómo lo resuelvo?

2voto

Jose Chavez Puntos 645

Tienes que cambiar esto:

<string>./makeTodaySym.sh</string>

para que se refiera a la ruta completa del archivo. Esto podría ser, por ejemplo, así:

<string>/Users/kim/journals/makeTodaySym.sh</string>

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