Diese Frage hat hier bereits eine Antwort:
Automator Shell Script
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
Wenn ImageMagick in / usr / local / bin installiert wird, bedeutet dies, dass es fehlschlägt, wenn ich mich nicht zuerst mit dem Pfad befasse und weiß, woher Automator (Java ist dasselbe) seinen Pfad bezieht und wie die fehlenden Pfade dauerhaft hinzugefügt werden
Antworten:
Automator verwendet die im Kernel fest codierte Pfadvariable.
Tatsächlich ist dies der Pfad, der für das launchd eines Benutzers festgelegt wurde und dann von Automator übernommen wird, wenn Sie die Anwendung starten.
Verwenden Sie die absoluten Pfade zu Ihren ausführbaren Dateien oder ändern Sie den PATH im Run Shell Script.
quelle
echo $PATH
Run-Shell-Skript bestätigt dies, und ich hatte in der Vergangenheit Probleme und habe dies nie überprüft! Jetzt weiß ich, warum ich einige Pfade hart codieren musste! :)PATH= ...
Anweisung an den Anfang des Shell-Skripts setzen und den Pfad zur ausführbaren Datei nicht fest codieren. Sie können dies zu Ihrer Antwort hinzufügen, wenn Sie möchten.