source Polecenie w systemie Linux z przykładami
Jeśli jesteś nowy w świecie Linuksa, być może słyszałeś o poleceniach wykonujących różne zadania, ale niektóre, takie jak polecenie „źródło”, mogą początkowo wydawać się nieco zagmatwane. Nie martw się; rozłóżmy to krok po kroku.
Co to jest polecenie źródłowe?
Polecenie source w Linuksie jest jak magiczna różdżka, która pozwala pobierać polecenia z pliku i używać ich bezpośrednio w terminalu. To tak, jakby mieć książkę kucharską i móc od razu korzystać z przepisów, bez ich kopiowania.
Polecenie „źródło” jest wbudowaną funkcją powłoki, zaprojektowaną do wykonywania poleceń przechowywanych w pliku bezpośrednio w bieżącym środowisku powłoki. Kiedy używasz polecenia „źródło”, odczytuje ono zawartość określonego pliku (zwykle jest to sekwencja poleceń) i wykonuje je tak, jakby były wpisane bezpośrednio w terminalu. Proces ten odbywa się w kontekście bieżącej sesji powłoki, bez tworzenia nowego procesu lub interpretera. Jeśli w poleceniu „źródło” podano jakiekolwiek argumenty, są one przekazywane jako parametry pozycyjne do poleceń w pliku źródłowym. Jednakże parametry pozycyjne bieżącej sesji powłoki pozostają niezmienione, chyba że zostaną jawnie zmodyfikowane przez polecenia w pliku źródłowym. Polecenie „source” szuka określonego pliku w katalogach wymienionych w pliku $ŚCIEŻKA Zmienna środowiskowa . Jeśli plik nie zostanie znaleziony w żadnym z tych katalogów, zostanie wyszukany w bieżącym katalogu. Należy pamiętać, że polecenie „źródło” nie oferuje żadnych opcji; jego jedynym argumentem jest nazwa pliku, z którego ma pochodzić
Składnia polecenia Source w systemie Linux
Składnia polecenia source jest prosta:
source FILENAME
Lub jego odpowiednik:
. filename
W tym przypadku „nazwa pliku” odnosi się do pliku zawierającego polecenia, które mają zostać pobrane.
Przykład polecenia Source w systemie Linux
source Polecenie w systemie Linux z przykładami
- Wykonywanie skryptów powłoki:
- Modyfikowanie zmiennych środowiskowych:
- Ładowanie plików konfiguracyjnych:
- Definiowanie funkcji powłoki:
Wykonywanie skryptów powłoki:
Jednym z głównych przypadków użycia polecenia source jest wykonywanie skryptów powłoki w bieżącym środowisku powłoki. Dzięki temu skrypt może bezpośrednio manipulować zmiennymi, funkcjami i innymi funkcjami powłoki.
Wyobraź sobie, że masz skrypt powłoki o nazwie „myscript.sh”, który ustawia zmienną, a następnie wyświetla jej wartość:
# mójscript.sh
#!/bin/bash
# Ustaw zmiennąMY_VARIABLE=Witam, z myscript.sh
# Powtórz zmienną
echo $MY_VARIABLE
Teraz użyjmy polecenia source, aby wykonać ten skrypt w bieżącej powłoce:
source myscript.sh
Wykonywanie skryptu powłoki
Wyjaśnienie:
- Polecenie source wykonuje polecenia zawarte w pliku „myscript.sh” bezpośrednio w bieżącym środowisku powłoki.
- Zmienna „MY_VARIABLE” jest ustawiana w „myscript.sh” i wyświetlana echem, tworząc dane wyjściowe w ramach bieżącej sesji powłoki.
Modyfikowanie zmiennych środowiskowych:
Polecenie source ma kluczowe znaczenie przy modyfikowaniu zmiennych środowiskowych prądu powłoka sesja. Jest to szczególnie przydatne, gdy skrypt musi wyeksportować zmienne, które wpływają na nadrzędne środowisko powłoki.
# środowisko_setup.sh
#!/bin/bash
# Eksportuj zmiennąeksport MY_ENV_VARIABLE=To jest moja zmienna środowiskowa
Teraz użyjmy polecenia source, aby zmodyfikować zmienne środowiskowe w bieżącej powłoce:
Modyfikowanie zmiennej środowiskowej
source environment_setup.sh
Aby zweryfikować zmiany, możesz powtórzyć zmienną środowiskową:
echo $MY_ENV_VARIABLE
Wyjaśnienie:
- Polecenie źródłowe wykonuje skrypt „environment_setup.sh”, który eksportuje zmienną „MY_ENV_VARIABLE”.
- Po pobraniu skryptu zmienna środowiskowa „MY_ENV_VARIABLE” staje się dostępna w bieżącej sesji powłoki, o czym świadczy powtórzenie jej wartości.
Ładowanie plików konfiguracyjnych:
Wiele aplikacji w systemie Linux opiera się na plikach konfiguracyjnych. Korzystając z polecenia source, te pliki konfiguracyjne można załadować bezpośrednio do bieżącej powłoki, zapewniając natychmiastowe zastosowanie zmian.
Rozważmy scenariusz, w którym dokonałeś zmian w pliku konfiguracyjnym „.bashrc”, na przykład dodano nowy alias:
# Dodaj alias do .bashrc
alias myalias=’ls -la’
Teraz użyjmy polecenia source, aby załadować zaktualizowany plik konfiguracyjny do bieżącej powłoki:
source ~/.bashrc
Teraz możesz używać nowo dodanego aliasu „myalias”:
myalias
Ładowanie pliku konfiguracyjnego
Wyjaśnienie:
- Polecenie source ładuje zaktualizowany plik „.bashrc” do bieżącej sesji powłoki, uwzględniając wszelkie zmiany wprowadzone w aliasach i innych konfiguracjach.
- Po pobraniu pliku „.bashrc” nowo dodany alias „myalias” staje się dostępny do natychmiastowego użycia, co można wykazać poprzez jego wykonanie i wyświetlenie zawartości bieżącego katalogu.
Definiowanie funkcji powłoki:
Funkcje powłoki zdefiniowane w skrypcie można udostępnić w bieżącej sesji powłoki, pobierając skrypt zawierający te funkcje.
Załóżmy, że masz skrypt o nazwie „my_functions.sh”, który definiuje funkcję powłoki:
# moje_funkcje.sh
#!/bin/bash
# Zdefiniuj funkcję powłokimoja_funkcja() {
echo To jest moja funkcja niestandardowa
}
Teraz użyjmy polecenia source, aby udostępnić tę funkcję w bieżącej powłoce:
source my_functions.sh
Teraz możesz wywołać funkcję bezpośrednio w powłoce:
my_function
Definiowanie funkcji powłoki
Wyjaśnienie:
- Polecenie source wykonuje skrypt „my_functions.sh”, który definiuje funkcję powłoki o nazwie „moja_funkcja”.
- Po pobraniu skryptu funkcja „my_function” staje się dostępna do natychmiastowego użycia w bieżącej sesji powłoki, co można wykazać, wywołując ją i powtarzając jej komunikat.
Wniosek
Podsumowując, polecenie „source” w systemie Linux służy jako potężne narzędzie do płynnej integracji poleceń, ustawień i funkcji z plików zewnętrznych bezpośrednio z bieżącym środowiskiem powłoki. Działając jako kanał pomiędzy sesją terminala a plikami zawierającymi instrukcje, polecenie „source” wykonuje polecenia zawarte w określonym pliku tak, jakby były wpisane bezpośrednio w terminalu. Umożliwia to dynamiczną modyfikację zmiennych środowiskowych, wykonywanie skryptów powłoki, ładowanie plików konfiguracyjnych i dostępność niestandardowych funkcji powłoki w ramach bieżącej sesji powłoki. Wykorzystując możliwości polecenia „źródło”, użytkownicy Linuksa mogą zwiększyć produktywność i wydajność w zadaniach związanych z administracją i programowaniem systemu, wprowadzając nowy poziom wydajności i elastyczności wiersza poleceń.