Las rutas /etc/pathsy /etc/paths.d/*típicamente son agregadas PATHpor path_helper . path_helperse ejecuta desde /etc/profile, por lo que se ejecuta cuando se invoca bash como un shell de inicio de sesión interactivo, pero no cuando se invoca bash como un shell sin inicio de sesión o un shell no interactivo.
/etc/pathscontiene /usr/local/binal final de forma predeterminada y /etc/paths.d/está vacío de forma predeterminada.
Terminal e iTerm 2 abren nuevos shells como shells de inicio de sesión por defecto, y el shell abierto cuando ssh a su computadora también es un shell de inicio de sesión. Sin tmuxembargo, muchos emuladores de terminal en otras plataformas y el modo de shell en Emacs abren nuevos shells como shells sin inicio de sesión.
He agregado esta línea a /etc/launchd.conf:
setenv PATH ~/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/libexec:/usr/texbin
Cambia el valor del PATHproceso de lanzamiento raíz. El valor es heredado por todos los demás procesos, incluidos los procesos lanzados por usuario. Puede aplicar cambios /etc/launchd.confreiniciando o ejecutando launchctl < /etc/launchd.conf; sudo launchctl < /etc/launchd.confy relanzando procesos.
En OS X, ~/.profileno se lee cuando inicia sesión gráficamente. Si ambos ~/.bash_profiley ~/.profileexisten, bash tampoco lee ~/.profile.
~/.MacOSX/environment.plist dejó de funcionar en 10.8.
/etc/profilees un script utilizado principalmente por bash? No tengo experiencias con otros proyectiles, pero supongo que siguen una estructura diferente.