2 votos

Ni el .bashrc ni el .profile se leen cuando se establece bash como shell en MacOS 11

Sé que MacOS 11 se esfuerza por convencerme de que use zsh pero también dice que puedo elegir otro shell, que es lo que tengo: chsh -s /bin/bash . El problema es que ya no funciona como antes, ya que ni lee mi .profile ni mi .bashrc cuando empiezo Terminal.app o iTerm.app . Sólo tengo esto:

The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
bash-3.2$

Si ahora escribo manualmente bash Las cosas suceden como deberían:

bash-3.2$ bash
[Timer is unset. Use timer_start] core utils setup finished
[3] Executing $HOME/.bashrc
[7] Reading utility functions and aliases
[10] core utils setup finished
[14] Reading aliases and functions
[22] ssh aliases
[26] conversions
[30] Use htop if available
[36] small utils and aliases
[40] aliases: setting up node aliases
[44] aliases: finished setting up node aliases
[48] webserver aliases
[52] global aliases and functions finished
[56] Reading utils for git prompt
[63] Reading bash completion files
[69] /Users/carlerik/.bash_completion.d/azure
[75] /Users/carlerik/.bash_completion.d/git
[89] /Users/carlerik/.bash_completion.d/npm
[95] /Users/carlerik/.bash_completion.d/tmux
[100] Reading color codes
[105] Read /Users/carlerik/.bash.d/colors
[130] Read /Users/carlerik/bin/z.sh
[135] Reading local settings for this machine
[140] Load personalized bashrc for mac
[152] Read /Users/carlerik/.bashrc.local
This setup is missing 'direnv'. Please install it for per-directory overrides
[157] Finished bash setup
[205] Read /Users/carlerik/.secret

The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.

carlerik at idas-imac in ~
$

Todo el tema de la sincronización se debe a un DEBUG que he habilitado (mi .bashrc en mi archivos de puntos ). Así que funciona con normalidad.

¿Cómo puedo hacer que MacOS 11 utilice mi .bashrc y/o mi .profile al iniciarse?

Incluso he intentado anular la configuración del terminal en ambas aplicaciones desde el shell de inicio de sesión estándar a /bin/bash --rcfile $HOME/.bashrc sin más éxito (sólo como una solución temporal para ver si era posible forzarlo a leer mis archivos init).

Como referencia, este es mi perfil:

printf "Reading .profile"
export DEBUG=1

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

# other stuff
# ...
# other stuff end

if [ -f "$HOME/.profile.local" ]; then
    . "$HOME/.profile.local"
fi

3voto

ashish jaiman Puntos 339

La respuesta a esto fue insinuada por @mmmmmm: sin mi conocimiento, un .bash_profile se había añadido, haciendo que bash eligiera leerlo en lugar de .profile .

El culpable era el instalador script para gcloud la CLI para el SDK de Google Cloud.

Para mis dotfiles multiplataforma, he movido estos ajustes específicos de mac a otro archivo que sólo se lee cuando se utiliza mac (en mi configuración) .

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