Jak naprawić Terminal nie ładujący ~/.bashrc na OS X Lion [zamknięty]

Gdy otwieram nową kartę w Terminalu używając Cmd + t, otwiera bash w tym samym katalogu, co poprzednia karta. To działa dobrze, gdy jestem w katalogu ~, ale jeśli jestem gdzieś indziej, dostaję błąd wczytywania .bashrc

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

Wygląda na to, że .bashrc jest ładowane ścieżką względną, a nie absolutną, ponieważ jeśli to zrobię source ~/.bashrc, Wszystko działa płynnie.

loaded bashrc

Myślę, że jest to problem związany z OS X Lion, ponieważ przed upgrade z Snow Leopard, nie miałem tego samego problemu. Ale może to być spowodowane tym, że Terminal zawsze otwiera się w ~, nie pamiętam, czy próbował otworzyć ten sam katalog.

Jednak pytanie pozostaje takie samo, jak mogę załadować Terminal ~/.bashrc poprzez ścieżkę absolutną, a nie względną?

Author: Jakub Arnold, 2011-10-15

3 answers

Terminal otwiera powłokę logowania. Oznacza to, że ~/.bash_profile zostanie wykonana, ~/.bashrc nie.

Rozwiązaniem na większości systemów jest "wymaganie" ~/.bashrc w ~/.bash_profile: Wystarczy umieścić ten fragment w swoim ~/.bash_profile:

[[ -s ~/.bashrc ]] && source ~/.bashrc
 320
Author: ckruse,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-12 08:42:52

Zmiana nazwy .bashrc na .profile (lub soft-łączenie tego ostatniego z pierwszym) również powinna załatwić sprawę. Zobacz TUTAJ .

 24
Author: scorpiodawg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-19 23:14:41

Mam w moim ~/.bash_profile:

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

Gdybym miał .bashrc zamiast ~/.bashrc, zobaczyłbym ten sam objaw, co Ty.

 13
Author: Keith Thompson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-15 19:21:10