.bashrc no se ejecuta al abrir una nueva terminal

Pregunta:

El código en .bashrc no se ejecuta cuando abro una nueva ventana de terminal en Ubuntu 12.04. Me di cuenta de esto al crear un archivo .bash_aliases. Los alias no aparecieron cuando abrí una nueva terminal. Sin embargo, cuando source .bashrc , aparecieron los alias.

.bashrc debería ejecutarse cada vez que abro una nueva ventana de terminal, ¿verdad?

¿Cómo hago para que esto suceda?

Respuesta:

No se ejecuta necesariamente; en la parte superior del .bashrc estándar está este comentario:

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

Creo que hay una opción para ejecutar el terminal bash como un shell de inicio de sesión o no. Con Ubuntu, gnome-terminal normalmente no se ejecuta como un shell de inicio de sesión, por lo que .bashrc debe ejecutarse directamente.

Para los shells de inicio de sesión (como los terminales virtuales), normalmente se ejecuta el archivo ~/.profile , a menos que tenga ~/.bash_profile o ~/.bash_login , pero no están allí de forma predeterminada. De forma predeterminada, Ubuntu usa solo .profile.

El ~/.profile estándar tiene esto:

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

Esto ejecuta .bashrc si está disponible, asumiendo que $ BASH_VERSION está presente en su entorno. Puede verificar esto ingresando el comando echo $BASH_VERSION , y debe mostrar alguna información sobre el número de versión, no debe estar en blanco.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım