Automator-Shell-Skript
echo $PATH
eval /usr/libexec/path_helper -s
echo $PATH
Ergebnisse:
nach dem ersten echo $PATH
:
/usr/bin:/bin:/usr/sbin:/sbin
nach dem zweiten echo $PATH
:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
Da ImageMagick in /usr/local/bin installiert ist, bedeutet dies, dass es fehlschlägt, es sei denn, ich spiele mit dem PATH herum, bevor jemand weiß, woher Automator (Java ist das gleiche) seinen Pfad bezieht und wie die fehlenden Pfade dauerhaft hinzugefügt werden
Automator verwendet die im Kernel fest codierte Pfadvariable.
sysctl user.cs_path
user.cs_path = /usr/bin:/bin:/usr/sbin:/sbin
Tatsächlich ist dies der Pfad, der für den launchd eines Benutzers festgelegt wurde und dann von Automator geerbt wird, wenn Sie die Anwendung starten.
launchctl getenv PATH
/usr/bin:/bin:/usr/sbin:/sbin
Verwenden Sie die absoluten Pfade zu Ihren ausführbaren Dateien oder ändern Sie den PATH im Run Shell Script.
echo $PATH
in einem Run Shell Script bestätigt dies und ich hatte in der Vergangenheit Probleme und habe dies nie überprüft! Jetzt weiß ich, warum ich einige Pfade fest codieren musste! :)PATH= ...
Anweisung, die auf die Umgebung eingestellt ist, oben im Run Shell Script hinzufügen und müssen dann den Pfad zur ausführbaren Datei nicht fest codieren. Sie können das Ihrer Antwort hinzufügen, wenn Sie möchten.
Jeff Vallis
Jeff Vallis
klanomath
mmmmmm