2 votos

/usr/local/bin/ no es encontrado por Automator y Java pero existe en Terminal

Automator Shell script

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

Resultados:

después de la primera echo $PATH :

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

después del segundo echo $PATH :

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

Como ImageMagick está instalado en /usr/local/bin significa que falla a menos que me meta con el PATH primero alguien sabe de dónde saca Automator (Java es lo mismo) su ruta y cómo añadir permanentemente las rutas que faltan

0 votos

Líneas separadas echo $PATH >> eval /usr/libexec/path_helper -s >> echo $PATH

0 votos

Resultados >> primer eco = /usr/bin:/bin:/usr/sbin:/sbin segundo eco = /usr/local/bin:/usr/bin:/usr/sbin:/sbin:/opt/X11/bin

0 votos

He editado tu pregunta. Por favor, compruebe mis mods

2voto

Michael Zhou Puntos 167

Automator utiliza la variable de ruta codificada en el kernel.

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

En realidad, esta es la ruta establecida para el launchd de un usuario y luego es heredada por Automator cuando se lanza la aplicación.

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

Utiliza las rutas absolutas de tus ejecutables o modifica el PATH en el Run Shell script.

0 votos

¡Muy interesante! +1 Un simple echo $PATH ¡en un Run Shell script confirma esto y he tenido problemas en el pasado y nunca comprobé esto! Ahora sé por qué he tenido que codificar duramente algunas rutas :)

0 votos

También puede añadir un PATH= ... con lo que hay en el entorno, en la parte superior de la sentencia Run Shell script y así no tener que codificar la ruta del ejecutable. Puedes añadir eso a tu respuesta si quieres.

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