source to przydatne wbudowane polecenie powłoki, które przyjmuje argumenty, analizuje polecenia w skrypcie i wykonuje je w środowisku powłoki. Zawartość pliku jest odczytywana przez źródło, a następnie przekazywana do interpretera Tool Command Language (TCL), który wykonuje polecenia.

Nauczmy się, jak używać źródła do wykonywania poleceń i pracy ze środowiskami powłoki w systemie Linux, wraz z krótkim wyjaśnieniem, czym różni się ono od polecenia bash.

Użyj źródła, aby wykonać polecenia w pliku

Aby użyć polecenia źródłowego, musisz najpierw utworzyć przykładowy plik i wypełnić go niektórymi poleceniami powłoki. Zacznij od utworzenia nowego pliku z polecenie dotykowe. Otwórz plik w wybranym edytorze tekstu i napisz kilka podstawowych poleceń powłoki.

dotykaćtest.tekst
witest.tekst

# Zapisz polecenia w pliku tekstowym:
Echo "Cześć!"
pwd
ls

# Źródło pliku ze składnią źródłową lub kropkową
. test.tekst
źródłotekst.tekst

Zapisz plik tekstowy i przejdź do przekazania go jako argumentu do polecenia źródłowego. System wykona polecenia w pliku i zwróci dane wyjściowe.

Teraz, gdy znasz podstawy korzystania ze źródła, spróbujmy zmienić środowisko powłoki Bash. Jednak zanim przejdziesz dalej, musisz mieć podstawową wiedzę na temat zmienne środowiskowe w systemie Linux.

Użyj polecenia źródłowego, aby zaktualizować środowisko powłoki Bash

W systemie Linux zmienne środowiskowe są dziedziczone, ale niezmienne. Jeśli wykonasz skrypt powłoki Bash, który modyfikuje zmienną środowiskową $TEST, skrypt utworzy nowy, rozwidlony proces powłoki, a modyfikacja $TEST będzie miała miejsce w nim zamiast oryginalnego Bash środowisko.

Proces potomny nie będzie mógł modyfikować środowiska procesu nadrzędnego. Może jedynie modyfikować własne środowisko. Zrozummy to na praktycznym przykładzie:

eksport TEST="deb"
vi przykład

# Wpisz te polecenia w pliku
eksport TEST="łóżko"
Echo $TEST

# Zapisz plik, uczyń go wykonywalnym, a następnie wykonaj
chmod +x przykład
./przykład # to zwróci „łóżko”
Echo $TEST # to zwróci „deb”

Tutaj wchodzi w grę polecenie source. Za pomocą polecenia source możesz wykonać skrypt w tym samym środowisku powłoki, które w przeciwnym razie zostałoby rozwidlone. Tak więc, jeśli pobierzesz skrypt, który modyfikuje zmienne środowiskowe, wprowadzi zmiany w środowisku powłoki Bash.

Aby to przetestować, zapisz polecenia w powyższym polu kodu w nowym pliku i użyj polecenia źródłowego zamiast wykonywania go.

# Utwórz nowy plik i edytuj go
wi test plik
. plik_testowy
Echo $TEST # Spowoduje to zwrócenie „łóżka”

Jak widać, za pomocą polecenia source udało się zaktualizować zmienne środowiskowe procesu nadrzędnego. Jest to podstawowy przypadek użycia polecenia source, tj. modyfikacja środowiska nadrzędnego.

To wszystkie kroki, które musisz wykonać, aby zaktualizować środowisko powłoki Bash za pomocą polecenia source.

Różnica między poleceniami bash i source systemu Linux

Różnica między poleceniami bash systemu Linux a poleceniami źródłowymi polega na tym, że kiedy wykonujesz skrypt za pomocą polecenia bash, informuje on system Linux kernel, aby utworzyć nowy proces Bash, aby odczytać i wykonać skrypt, skopiować dane wyjściowe do oryginalnego procesu powłoki i wyświetlić je.

Ale polecenie źródłowe jest wbudowana powłoka który odczytuje i ocenia plik w bieżącym procesie powłoki. Tak więc wszystkie zmiany dokonane przez skrypt zostaną zachowane w powłoce Bash.

Rozwiązywanie problemów z błędami poleceń źródłowych

W niektórych systemach Linux możesz napotkać błąd „nie znaleziono źródła” podczas próby użycia polecenia source. Możesz naprawić ten błąd na dwa sposoby:

1. Zmień powłokę

Niektóre powłoki nie obsługują polecenia source. W takim przypadku będziesz musiał zmienić środowisko powłoki za pomocą chsh -s ($ która nazwa_powłoki) Komenda.

Uruchom nowy terminal po zmieniając powłokęi spróbuj użyć polecenia source. Jeśli nowa powłoka obsługuje sourcing, powinna działać bez zarzutu.

2. Użyj składni kropka/kropka

Niektóre środowiska powłoki nie obsługują „źródło„składnia, ale alternatywa”.„Składnia. Składnia „źródła” jest synonimem kropki w Bash. Ale to nie działa w powłoce POSIX, więc dla maksymalnej kompatybilności użyj składni kropki.

Podstawowe polecenia systemu Linux, które powinieneś znać

Polecenia powłoki Linuksa to świetny sposób na interakcję z systemem za pomocą terminala. Stanowią one istotę korzystania z systemów *NIX.

Chociaż nie musisz znać wszystkich poleceń, znajomość kilku przydatnych z pewnością okaże się owocna, gdy zagłębisz się w świat Linuksa.