39 votos

¿Por qué debo hacer origen de .bashrc cada vez que abro la terminal para que funcionen los alias?

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

alias myserver='ssh davidfaux@davidfaux.com'

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

-bash: myserver: comando no encontrado

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

Sin embargo, no quiero tener que originar el archivo cada vez que abro el terminal para que el alias funcione. ¿Cómo puedo lograr que eso suceda?

4 votos

Este comentario explica la razón de esto. Esa pregunta te dice cómo arreglarlo.

0 votos

¡Muchas gracias! No sabía que al iniciar la terminal ejecuta esos archivos en orden. De hecho, agregar . .bashrc dentro de .bash_profile funciona.

0 votos

@ughoavgfhw ¿Puedes/debes cambiar tu comentario a una respuesta? De esa manera se puede marcar como respuesta.

35voto

MrDaniel Puntos 8871

En resumen, estás poniendo tus alias en el archivo incorrecto .bashrc, por eso necesitas seguir ejecutando source para que los alias funcionen en nuevas instancias de terminales de inicio de sesión.

De un comentario de Chris Johnsen en ¿Por qué no se ejecuta .bashrc automáticamente?

Por defecto, Terminal inicia el shell a través de /usr/bin/login, lo que hace que el shell sea un shell de inicio de sesión. En todas las plataformas (no solo en Mac OS X), bash no utiliza .bashrc para shells de inicio de sesión (solo /etc/profile y el primero de .bash_profile, .bash_login, .profile que existen y son legibles). Por eso "poner source ~/.bashrc en tu .bash_profile" es un consejo estándar.

Para más información, consulta la página del manual para bash:

man bash

Luego busca en la sección de INVOCATION.

0 votos

¿Necesito reiniciar para que las cosas funcionen? Porque agregué source ~/.bashrc a mi .bash_profile, pero sigo enfrentando el mismo problema...

4 votos

En la mayoría de los casos, solo necesitas abrir una nueva ventana de terminal para que los cambios surtan efecto, los cambios solo se aplicarán en la ventana recién abierta.

14voto

Siempre puedes ponerlo

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

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

Oooor, simplemente puedes colocar tu información en .profile o .bash_profile.

0 votos

Esto está señalado en la otra respuesta - ¿por qué estás inseguro/a acerca de estas cosas?

0 votos

Por favor, lee esta pregunta muy similar: apple.stackexchange.com/q/12993/22003 y añade cualquier mejora allí.

0 votos

@danielAzuelos Espera, ¿quieres que comente en la otra página o actualice mi respuesta en base a la otra pregunta?

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X