open mac commands comandos macos bash

macos - mac - Cómo hacer que OS X lea el archivo.bash_profile no.profile



terminal mac download (3)

He leído tantas sugerencias sobre cómo no poner los comandos de personalización en el archivo ".profile". Más bien, cree un .bash_profile para usted y agregue su alias, etc.

Pero, cuando abro el nuevo terminal, si solo hay .bash_profile, OS X no está exportando / obteniendo los comandos que se mencionan en él. Tengo que obtener manualmente el archivo .bash_profile.

Si creo el archivo .profile, al abrir un nuevo terminal, todos mis comandos en .profile se ejecutan y estarán disponibles fácilmente.

¿Podrías por favor ayudarme a entender, cómo funciona? Además, cuándo usar los archivos .bashrc / .profile / .bash_profile.

¡Gracias!


De acuerdo con la página del manual que se envía con OS X:

... busca ~/.bash_profile , ~/.bash_login , y ~/.profile , en ese orden, y lee y ejecuta comandos desde el primero que existe y es legible. La opción --noprofile se puede usar cuando el shell se inicia para inhibir este comportamiento.

Solo debe leer ~/.profile como último recurso si ni ~/.bash_profile ni ~/.bash_login son legibles.

En todos mis sistemas OS X, tengo mi ~/.bash_profile configurado para:

if [ -f ~/.bashrc ]; then source ~/.bashrc fi

Se recomienda encarecidamente que haga esto en OS X para que bash lea el archivo ~/.bashrc como cabría esperar.


Se debe mencionar que bash primero buscará un /etc/profile , como se indica en las páginas del manual de Bash.

Cuando se invoca bash como shell de inicio de sesión interactivo, o como shell no interactivo con la opción --login, primero lee y ejecuta los comandos del archivo / etc / profile, si ese archivo existe. Después de leer ese archivo, busca ~ / .bash_profile, ~ / .bash_login, y ~ / .profile, en ese orden, y lee y ejecuta los comandos desde el primero que existe y es legible. La opción --noprofile se puede usar cuando el shell se inicia para inhibir este comportamiento.


También es posible que el shell de su terminal esté predeterminado en sh en lugar de bash. Puedes verificar esto primero:

$ echo $SHELL /bin/tcsh

Para cambiar esto a bash, puede ir a su Terminal -> Preferencias -> pestaña Inicio, y cambiar "Shell Opens With:" de "Default login shell" a Command and value "/ bin / bash".

Alternativamente, puede cambiar su shell predeterminado ejecutando el siguiente comando en el símbolo del sistema:

chsh -s bin/bash

Después de hacer uno de estos, abra una nueva ventana de shell, y su .bash_profile debe ser de origen.