En iTerm, ¿por qué el comando de un shell de comando no recoge cosas en mi $ PATH?

1

Tengo un script en mi directorio ~/.bin que cambia el fondo de iTerm antes de iniciar una sesión SSH (como se detalla en here , secuencia de comandos modificada ligeramente desde esta versión ).

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

Sin embargo, si configuro un perfil para iniciar una sesión con ese mismo comando, se produce un error y dice que no puede encontrar sshb . Si hago mi comando ~/.bin/sshb servername , ejecuta el comando, pero dice que no puede encontrar el comando ImageMagick convert usado en esa secuencia de comandos.

Parece que el comando shell shell no conoce mi $PATH . Supongo que podría averiguar dónde vive convert y editar la secuencia de comandos para usar la ruta completa, pero eso parece estar tratando los síntomas, no el problema. ¿Hay alguna manera de hacer que el shell de comandos cargue mis variables de entorno antes de ejecutar ese comando?

    
pregunta 75th Trombone 14.11.2013 - 23:49

1 respuesta

1

Las variables de entorno como PATH y TERM son normalmente heredadas de la shell. Cuando ejecuta la secuencia de comandos directamente, no están configurados.

Puede ejecutar el script como un proceso secundario de un shell de inicio de sesión configurando el comando en bash -lc "~/.bin/sshb servername" .

    
respondido por el user495470 15.11.2013 - 21:33

Lea otras preguntas en las etiquetas