2 votes

/usr/local/bin/ non trouvé par Automator et Java mais existant dans le Terminal

Shell Automator script

echo $PATH
eval /usr/libexec/path_helper -s
echo $PATH

Résultats :

après le premier echo $PATH :

/usr/bin:/bin:/usr/sbin:/sbin

après le deuxième echo $PATH :

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin

Comme ImageMagick est installé dans /usr/local/bin, cela signifie que l'opération échoue si je ne modifie pas d'abord le PATH. Quelqu'un sait-il d'où Automator (Java est le même) tire son chemin et comment ajouter de façon permanente les chemins manquants ?

0 votes

Séparer les lignes echo $PATH >> eval /usr/libexec/path_helper -s >> echo $PATH

0 votes

Résultats >> premier écho = /usr/bin:/bin:/usr/sbin:/sbin deuxième écho = /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin

0 votes

J'ai modifié votre question. Veuillez vérifier mes modifications

2voto

Michael Zhou Points 167

Automator utilise la variable path codée en dur dans le noyau.

sysctl user.cs_path
user.cs_path = /usr/bin:/bin:/usr/sbin:/sbin

En fait, il s'agit du chemin défini pour le launchd d'un utilisateur et qui est ensuite hérité par Automator lorsque vous lancez l'application.

launchctl getenv PATH
/usr/bin:/bin:/usr/sbin:/sbin

Utilisez les chemins absolus de vos exécutables ou modifiez le PATH dans la commande Run Shell script.

0 votes

Très intéressant ! +1 Un simple echo $PATH dans un Run Shell script confirme cela et j'ai eu des problèmes dans le passé et je n'ai jamais vérifié cela ! Maintenant je sais pourquoi j'ai dû coder en dur certains chemins :)

0 votes

Vous pouvez également ajouter un PATH= ... définie par ce qui se trouve dans l'environnement, en haut de l'instruction Run Shell script et ainsi ne pas avoir à coder en dur le chemin vers l'exécutable. Vous pouvez ajouter cela à votre réponse si vous le souhaitez.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X