1 votos

En iTerm, ¿por qué el comando de un intérprete de comandos no recoge las cosas en mi $PATH?

Tengo un script en mi ~/.bin que cambia el fondo de iTerm antes de iniciar una sesión SSH (como se detalla aquí , script ligeramente modificado de esta versión ).

Si inicio una sesión normal de inicio de sesión y ejecuto mi comando, sshb servername funciona bien. La imagen de fondo se carga y la sesión SSH se inicia.

Sin embargo, si configuro un perfil para iniciar una sesión con ese mismo comando, da error y dice que no puede encontrar sshb . Si hago que mi comando ~/.bin/sshb servername ejecuta el comando, pero dice que no puede encontrar el ImageMagick convert utilizado en ese script.

Parece como si el comando shell no supiera de mi $PATH . Supongo que podría averiguar dónde convert vive y edita el script para usar la ruta completa, pero eso parece ser el tratamiento de los síntomas, no el problema. ¿Hay alguna forma de hacer que el shell de comandos cargue mis variables de entorno antes de ejecutar ese comando?

1voto

Fuzzy Purple Monkey Puntos 702

Las variables de entorno como PATH y TERM normalmente se heredan del shell. Cuando se ejecuta el script directamente, se desestablecen.

Puedes ejecutar el script como un proceso hijo de un shell de inicio de sesión estableciendo el comando bash -lc "~/.bin/sshb servername" .

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