Kiedy wpisuję np. nowy alias do mojego .bashrc
pliku Nie mogę go natychmiast użyć w tym oknie terminala i do niedawna myślałem, że muszę ponownie uruchomić terminal, aby ponownie załadować .bashrc
plik. Potem dowiedziałem się gdzieś, że jeśli napiszę
. .bashrc
spowoduje to ponowne załadowanie .bashrc
pliku w bieżącym oknie i nie muszę restartować. To działa na płetwy, ale co się właściwie dzieje? Dlaczego to ponownie ładuje .bashrc
plik?
.
„źródło” pliku. Oznacza to, że jest wykonywany w zasadzieOdpowiedzi:
Ponieważ
.
jest to polecenie.Jest to wbudowane polecenie powłoki, które odczytuje nazwany plik i wykonuje polecenia znajdujące się w nim w bieżącym procesie powłoki.
Powłoka Bourne Again ma również
source
jako synonim tego polecenia. Ale to jest Bashizm (który pocisk Bourne Again wziął z Powłoki C.) Chociaż jest to Bashizm, który skorupa Bourne Again dzieli z Powłoką TENEX C, Powłoką Z i innymi (ale nie pociskiem Korna, uwaga). Pojedyncza specyfikacja UNIX tylko się standaryzuje.
.Zauważ też, że zachowanie
.
/source
subtelnie zmienia się w zależności od tego, czy powłoka Bourne Again jest uruchomiona w trybie zgodnym z POSIX, czy nie. (Znowu jest to podobne do innych powłok, chociaż ich niestandardowe zachowania nie są takie same jak w przypadku innych. W przypadku Z Shell na przykład istnieje wstępnie skompilowany mechanizm skryptu powłoki isource
subtelnie różni się od.
obsługi ścieżki wyszukiwania. Korn powłoki.
uruchomią funkcje powłoki, na przykład).~/.bashrc
jest tylko jednym z kilku plików, których zawartość (zależna od sposobu wywołania procesu powłoki) jest automatycznie pozyskiwana podczas uruchamiania powłoki. Nic nie zabrania ręcznego pozyskiwania. Chociaż jeśli jego działania nie są idempotentne, możesz mieć trochę pracy związanej z naprawą.Dalsza lektura
źródło
help .
powiedziałbym ci:Powiedzenie
. .bashrc
wykonuje (źródła) plik,.bashrc
który udostępnia zmiany dokonane w pliku w bieżącej sesji.Domyślnie
~/.bashrc
będzie czytany przy logowaniu..
jest synonimemsource
.źródło
.
Komenda jest to samo, co wsource
poleceniu, który wykonuje swój.bashrc
plik. Dodaje to wszystkie zdefiniowane aliasy i wszelkie inne ustawienia / zmienne powłoki do bieżącego środowiska. Zesource
strony pomocy:źródło