Как исправить терминал, не загружая ~/.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
, я бы увидел тот же самый симптом, который вы видите.