1 votos

¿Por qué los cambios en el archivo bashrc no funcionan en una nueva ventana de terminal?

Estoy tratando de agregar un alias al archivo bashrc. Como no soy bueno en esto, voy a escribir todos los pasos que tomé

nano ~/.bashrc

El archivo tenía esto en él

export PATH="$PATH:$HOME/.rvm/bin" # Agregar RVM al PATH para scripting

Además de eso, agregué mi alias

dropUpload(){
~/drop.sh upload $1 $2
}
alias dropU=dropUpload

Guardé el archivo y luego lo volví a cargar con . ~/.bashrc

En la misma ventana intenté usar el código dropU first/url second/url y funcionó. Cerré la ventana del terminal y abrí una nueva, el código ya no funciona. El error que obtengo es

-bash: dropU: comando no encontrado

Si hago nano de vuelta al archivo, mi nuevo código está allí. Si vuelvo a cargar el archivo, el código funciona. ¿Cómo puedo hacer que esto persista?

4voto

Mark Puntos 1787

En mi ~/.bash_profile tengo este código

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

@Mark tiene una excelente respuesta aquí.

Encontré un enlace que aclara ese caso en Unix FAQ para OSX.

Está escrito

Archivos de inicio de Bash

Cuando se inicia un "shell de inicio de sesión", lee el archivo "/etc/profile" y luego "~/.bash_profile" o "~/.bash_login" o "~/.profile" (el que exista - solo lee uno de estos, comprobando en el orden mencionado).

Cuando se inicia un "shell no de inicio de sesión", lee el archivo "/etc/bashrc" y luego el archivo "~/.bashrc".

Tenga en cuenta que cuando bash se invoca con el nombre "sh", intenta imitar la secuencia de inicio del shell Bourne ("sh"). En particular, un shell no de inicio de sesión invocado como "sh" no lee ningún archivo de punto de forma predeterminada. Consulte la página del manual de bash para obtener más detalles.

0 votos

¿Alguien podría decirme por qué mi respuesta recibió un voto negativo?

0 votos

Eso no funcionó para mí. (No voté negativo)

0 votos

Primero, confirmamos que su archivo .bashrc se agregó automáticamente en su nueva sesión de terminal. Puede intentar agregar un alias simple a .bashrc como alias myEcho='echo Anubeloredelana', que imprime Anubeloredelana en la terminal, y en una nueva sesión de terminal intentar llamarlo para ver si funciona.

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