iTerm / zsh ne lit pas .bashrc OU .bash_profile


39

En ~/.bash_profile j'ai:

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

Dans ~/.bashrcj'ai quelques alias

Lorsque je charge une nouvelle fenêtre iTerm, mes alias ne fonctionnent pas. Si je m'approvisionne, ~/.bashrcils fonctionnent. Si je m'approvisionne, ~.bash_profileils fonctionnent.

N'est-ce pas au moins l'un d'entre eux censé provenir automatiquement?

Qu'est-ce qui pourrait l'empêcher de fonctionner correctement?

Réponses:


57

La réponse est simple, presque évidente dans la question. Voici pourquoi:

La coquille zshn'est pas bash, c'est une coquille différente. zshn'utilisera pas les fichiers par défaut construits pour bash: .bashrcou .bash_profile. Ces deux fichiers sont des fichiers de configuration de démarrage pour bash. zsha ses propres fichiers de configuration de démarrage.

Vous pouvez en savoir plus à leur sujet ici sur la zsh page d'introduction :

Il y a cinq fichiers de démarrage à partir desquels zsh lira les commandes:

$ZDOTDIR/.zshenv
$ZDOTDIR/.zprofile
$ZDOTDIR/.zshrc
$ZDOTDIR/.zlogin
$ZDOTDIR/.zlogout

Vous aviez mentionné que vos alias ne fonctionnent pas, pour résoudre ce problème, appliquez vos alias ici comme suit:

~/.zshrc

alias sz='source ~/.zshrc'     # Easily source your ~/.zshrc file.
alias ls='pwd; ls --color'     # Alias 'ls' to: pwd + ls + color.

Je vous remercie. Notez que cela ls --colorm'a donné illegal optionà la fois bashet zshsur OSX 10.10, mais pas sur Linux - je vais l'examiner. À votre santé.
Bradley Flood

Je n'ai pas de Mac pour tester mais je pense que cela a à voir avec l'implémentation ls sur OS X, je ne pense pas qu'il ait l'argument - -color. Si je me souviens, je vais le chercher.
projectdp

1
"... zsh a ses propres fichiers de configuration de démarrage." c'est ce qu'il demande probablement hein? dites simplement "mec, c'est ~ / .zshrc".
eyurdakul

+1 de bons conseils dans la réponse pour macOS Catalina utilisant maintenant officiellement zsh. Je vous remercie.
therobyouknow

18

Si vous utilisez zsh, forcez la source .bash_profile

en ~/.zshrcajoutant la ligne ci-dessous

source ~/.bash_profile

PS - Je n'ai pas cherché à savoir si cela pouvait causer des problèmes.


2
Je suppose que cette réponse serait utile après la sortie de macOS 10.5 Catalina afin de porter bash_profile de bash à zsh.
Oleksii Kyslytsyn

Rapide et efficace!
Roberto Manfreda

0

Copiez les lignes de ~ / .bash_profile vers ~ / .zshrc

cat ~/.bash_profile > ~/.zshrc

Et ouvrez un nouvel onglet / fenêtre de terminal ou utilisez source ~/.zshrc

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.