Użytkownik bash będzie ostatecznie skończyć z .bashrc
, .bash_profile
, .profile
i może trochę więcej.
Teraz każdy plik jest ładowany w określonych sytuacjach i wszystko to prowadzi do zamieszania i frustracji. Nie obchodzi mnie, która powłoka jest powłoką logowania i ty też nie powinieneś.
Chcę tylko upewnić się, że ta sama rzecz jest ładowana dla każdej rzeczy, która się wydarzy.
Więc jaki jest rozsądny sposób, aby je skonfigurować?
Zakładałbym się o rzeczy, które nie są specyficzne dla basha .profile
, a niektóre źródła plików inne, itd. Co dokładnie byłoby włożone, aby osiągnąć identyczne środowisko dla każdej powłoki?
Uwaga: nie pytam, co szczególnie lubisz wkładać do plików rc, takich jak aliasy i funkcje itp. Po prostu, jak je rozłożysz, aby nie losować między nimi różnych przedmiotów.
Odpowiedzi:
Jeśli naprawdę tego chcesz, włóż wszystko
~/.profile
i dodajsource ~/.profile
na końcu swojego~/.bashrc
. Jeśli jest to pożądane, jest inne pytanie. Zaopatrywać~/.profile
w~/.bashrc
jest bardzo częstym setup tak.Powłoki C i pochodne powłok używają innego zestawu plików (.login, .cshrc, ..).
Jeśli masz na myśli środowisko w znaczeniu zmiennych środowiskowych, po prostu ustaw je wszystkie w ~ / .profile i wszystko będzie dobrze. Jeśli chodzi o środowisko w szerszym znaczeniu, to zależy.
Problem polega na tym, że nie jest pożądane, aby mieć takie samo środowisko dla interaktywnych i logujących się powłok. Przykładem są aliasy: być może potrzebujesz aliasów w interaktywnej powłoce, ale najprawdopodobniej spowodują one, że twoje skrypty będą robić dziwne rzeczy. Więc nie chcesz, aby twoje aliasy w nieinteraktywnych powłokach => wstawiły je
~./bashrc
.źródło
Naprawiam rzeczy tak, że prawie cała moja konfiguracja jest wykonywana przez powłokę logowania i prawie nic na bazie powłoki. Oznacza to, że mój
.profile
plik jest złożony; mój.kshrc
plik (analog.bashrc
dla Bash i.cshrc
dla powłoki C) nie istnieje. Nigdy nie uważałem tego za problem. Oznacza to również, że powłoki niezalogowane są tak szybkie, jak to możliwe - nie szukają plików, aby analizować polecenia, których nie użyją. Może to być kac z czasów powłoki Bourne'a - kiedy nie istniały skrypty na powłokę. Ale nigdy nie znalazłem niczego, co wymagałoby tak specjalistycznego leczenia.źródło