while omf instalar customize shell environment-variables fish

shell - omf - Modificando PATH con cáscara de pescado



while fish (2)

Como todos los shells, fish hereda su PATH del entorno en el que se inicia. La forma en que se configura para los shells de inicio de sesión difiere entre los sistemas operativos; en Linux, por ejemplo, /etc/login.defs controla el conjunto de PATH inicial para todos los shells de inicio de sesión. No sé cómo está configurado en OS X.

A continuación, como bash o csh , los archivos de inicialización del shell pueden alterar la ruta. Para fish en OS X, hay un código en share/fish/config.fish para cargar rutas desde los archivos de configuración de ruta de OS X /etc/paths y /etc/paths.d/* . Existe un código alternativo para establecer una ruta útil en Solaris.

También hay un código para seleccionar rutas de la variable universal $fish_user_paths , que es la forma correcta de agregar algo a su PATH y reflejarlo en todos los shells .

Actualmente estoy jugando con la cáscara de los peces y tengo algunos problemas para entender cómo se configura la variable PATH . Por lo que vale, también estoy usando oh-my-fish .

Si hago eco de mi ruta actual obtengo:

➜ fish echo $PATH /usr/local/bin /usr/bin /bin /usr/sbin /sbin /usr/local/bin /opt/X11/bin /usr/texbin /Users/myname/.opam/system/bin

Observando ~/.config/fish/config.fish veo la siguiente línea

set PATH /usr/local/bin $PATH /Users/myname/.opam/system/bin

Mi pregunta es (y esta expresión probablemente reflejará mi falta de conocimiento sobre el tema): antes de que se config.fish , ¿dónde está establecida la variable PATH ? es decir: ¿de /Users/myname/.opam/system/bin provienen todas las rutas entre /usr/local/bin y /Users/myname/.opam/system/bin ?


Este comando:

set -U fish_user_paths /usr/local/bin $fish_user_paths

Esto agregará /usr/local/bin permanentemente a su ruta.