Как исправить терминал, не загружая ~/.bashrc в OS X Lion

Всякий раз, когда я открываю новую вкладку в терминале с помощью Cmd + T, она открывает bash в том же каталоге, что и предыдущая вкладка. Это отлично работает, когда я в каталоге ~, но если я где-нибудь еще, я получаю ошибку при загрузке .bashrc

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

Похоже, что .bashrc загружается через относительный, а не абсолютный путь, потому что если я делаю source ~/.bashrc, все работает плавно.

loaded bashrc

Я думаю, что это проблема с OS X Lion, потому что до обновления с Snow Leopard у меня не было той же проблемы. Но это может быть вызвано тем, что Terminal всегда открывается в ~, я не помню, пытался ли он открыть тот же каталог.

Однако вопрос остается тем же, как я могу сделать нагрузку на терминал ~/.bashrc через абсолютный путь, а не относительный?

Ответ 1

Терминал открывает оболочку входа. Это означает, что ~/.bash_profile будет выполнен, ~/.bashrc нет.

В большинстве систем решение "требует" ~/.bashrc в ~/.bash_profile: просто поместите этот фрагмент в свой ~/.bash_profile:

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

Ответ 2

Переименование .bashrc в .profile (или сопряжение последнего с первым) также должно сделать трюк. См. здесь.

Ответ 3

У меня есть следующее в ~/.bash_profile:

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

Если бы я имел .bashrc вместо ~/.bashrc, я бы увидел тот же самый симптом, который вы видите.