Przeczytaj sekcję WYWOŁYWANIE z "bash (1)", aby uzyskać pełne szczegóły (to jest strona man dla bash, użyj man bash
). Twoja pierwsza powłoka po zalogowaniu to "powłoka logowania", co oznacza, że plik .bashrc
nie pochodzi z źródła. Twoje drugie wywołanie tworzy interaktywną powłokę, z której pochodzi źródło .bashrc
.
Jeśli zawsze chcesz zawartość pliku .bashrc
przetworzonej, można dodać następujące linie do pliku .bash_profile
, tworząc ten plik jeśli nie istnieje:
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
Na jego stronie man bash "[...] szuka ~/.bash_profile
, ~/.bash_login
i ~/.profile
, w tej kolejności, a także czyta i wykonuje polecenia od pierwszego, które istnieje i można je odczytać." Konwencje i zasady systemu lokalnego określają, które z tych plików już istnieją.
Jedna uwaga: należy pamiętać, że tworzenie nowego .bash_profile
w swoim katalogu domowym może mieć niezamierzony efekt uboczny zapobiegania odczyt i wykonywanie poleceń w pliku .bash_login
lub .profile
już obecny, zmieniając dalsze zachowanie późniejsze loginy.
Jakiego używanego pisma? – lulyon
Cóż, właściwie jest to funkcja: function cl() {cd $ @; ls} –
Możliwe duplikaty: http://stackoverflow.com/a/415444/208997 – Simon