2 votes

Ni le fichier .bashrc ni le fichier .profile ne sont lus lorsque bash est défini comme l'interpréteur de commandes dans MacOS 11.

Je sais que MacOS 11 fait tout son possible pour me convaincre d'utiliser zsh mais il est également indiqué que je peux choisir un autre shell, ce que j'ai fait : chsh -s /bin/bash . Le problème, c'est qu'il ne fonctionne plus comme avant, puisqu'il ne lit plus mon .profile ni mon .bashrc quand je commence Terminal.app ou iTerm.app . Je viens de recevoir ça :

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 je tape maintenant manuellement bash les choses se passent comme elles doivent se passer :

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 ~
$

Tous les problèmes de timing sont dus à une DEBUG que j'ai activé (mon .bashrc dans mon Dotfiles ). Il fonctionne donc normalement.

Comment puis-je faire en sorte que MacOS 11 utilise mon .bashrc et/ou mon .profile au démarrage ?

J'ai même essayé de remplacer les paramètres du terminal dans les deux applications par le shell de connexion standard pour /bin/bash --rcfile $HOME/.bashrc sans plus de succès (juste comme une solution temporaire pour voir s'il était possible de le forcer à lire mes fichiers init).

Pour référence, voici mon .profil :

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

oligofren Points 221

La réponse à cette question a été suggérée par @mmmmmm : sans que je le sache, une .bash_profile a été ajouté, ce qui fait que bash choisit de le lire à la place du fichier .profile .

Le coupable était l'installateur script pour gcloud le CLI pour le SDK Google Cloud.

Pour mes dotfiles multiplateformes, j'ai déplacé ces paramètres spécifiques à mac vers un autre fichier qui n'est lu que lorsque l'on utilise mac (dans ma configuration) .

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X