web-dev-qa-db-fra.com

Comment réparer Terminal ne se charge pas ~ / .bashrc sous OS X Lion

Chaque fois que j'ouvre un nouvel onglet dans Terminal en utilisant Cmd + T, il ouvre bash dans le même répertoire que l’onglet précédent. Cela fonctionne bien lorsque je suis dans le répertoire ~, mais si je suis ailleurs, le message d'erreur ".bashrc" s'affiche.

Last login: Sat Oct 15 21:10:00 on ttys002
-bash: .bashrc: No such file or directory
Jakub-Arnolds-MacBook-Pro:projects darth$ 

Il semble que .bashrc soit chargé via un chemin relatif et non absolu, car si je fais source ~/.bashrc, tout se passe bien.

loaded bashrc

Je pense qu'il s'agit d'un problème lié à OS X Lion, car avant la mise à niveau de Snow Leopard, je n'avais pas le même problème. Mais cela pourrait être dû au fait que le terminal s'ouvre toujours à ~, je ne me souviens pas s'il a essayé d'ouvrir le même répertoire.

Cependant, la question reste la même, comment puis-je charger le terminal ~/.bashrc via un chemin absolu et non relatif?

172
Jakub Arnold

Terminal ouvre un shell de connexion. Cela signifie que ~/.bash_profile sera exécuté, ~/.bashrc pas.

La solution sur la plupart des systèmes consiste à "exiger" le ~/.bashrc dans le ~/.bash_profile: il suffit de placer cet extrait dans votre ~/.bash_profile:

[[ -s ~/.bashrc ]] && source ~/.bashrc
346
ckruse

Renommer .bashrc en .profile (ou lier doucement ce dernier à l'ancien) devrait également faire l'affaire. Voir ici .

26
scorpiodawg

J'ai le texte suivant dans mon ~/.bash_profile:

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

Si j'avais .bashrc au lieu de ~/.bashrc, je verrais le même symptôme que vous voyez.

13
Keith Thompson