¿Por qué debo buscar .bashrc cada vez que abro una terminal para que funcionen los alias? [duplicar]

19

Agregué esta línea en mi archivo ~/.bashrc .

alias myserver='ssh [email protected]'

Sin embargo, cuando abro la terminal y ejecuto myserver , la terminal se queja de que

-bash: myserver: command not found

Cuando obtengo mi archivo .bashrc, sin embargo, ( . .bashrc ), el alias funciona.

No obstante, no quiero generar el archivo cada vez que abro el terminal para que funcione el alias. ¿Cómo puedo hacer que eso suceda?

    
pregunta David Faux 04.03.2012 - 20:31

2 respuestas

17

En pocas palabras, está colocando sus alias en el archivo .bashrc incorrecto, por eso necesita seguir ejecutando el código fuente para que los alias funcionen en cualquier nueva instancia de terminal de inicio de sesión.

  
    

De forma predeterminada, Terminal inicia el shell a través de / usr / bin / login, lo que convierte al shell en un shell de inicio de sesión. En todas las plataformas (no solo Mac OS X), bash no usa .bashrc para shells de inicio de sesión (solo / etc / profile y el primero de .bash_profile, .bash_login, .profile que existe y es legible). Esta es la razón por la cual "poner la fuente ~ / .bashrc en tu .bash_profile" es un consejo estándar. - Chris Johnsen

  

Para obtener más información, consulte la página del manual de bash. Luego mira debajo de la sección de INVOCACIÓN.

man bash
    
respondido por el MrDaniel 06.03.2012 - 13:34
10

Siempre puedes poner

if [ -n "$BASH_VERSION" ] && [ -f $HOME/.bashrc ];then
    source $HOME/.bashrc
fi

en el archivo ~/.profile o ~/.bash_profile en mac, creo.

Oooor, puedes poner tus cosas en .profile o .bash_profile .

    
respondido por el Dylan 23.09.2014 - 22:56

Lea otras preguntas en las etiquetas