Jaka jest różnica między pozyskiwaniem a wykonywaniem skryptu powłoki

Jaka jest różnica między pozyskiwaniem a wykonywaniem skryptu powłoki
W systemach operacyjnych UNIX skrypt powłoki to plik zawierający serię poleceń, które są interpretowane i wykonywane przez program Shell. Jeśli chodzi o uruchamianie skryptu powłoki, istnieją dwa główne sposoby na to: pozyskiwanie i wykonywanie. Chociaż mogą wydawać się podobne, mają różne skutki na bieżą.

Jaka jest różnica między pozyskiwaniem a wykonywaniem skryptu powłoki

Aby zrozumieć różnicę między obiema sposobami, aby najpierw mieć solidną wiedzę na temat korzystania z obu metod, aby najpierw mieć ich podstawową definicję jeden po drugim:

Pozyskiwanie skryptu powłoki

Pozyskiwanie skryptu jest sposobem na uruchomienie skryptu w bieżącym środowisku powłoki. Wszystkie polecenia skryptu są wykonywane, jeśli są wpisane bezpośrednio do interfejsu wiersza poleceń, a pozyskiwanie skryptu robi to samo. Z tego powodu zapewnia opcję skryptu do modyfikacji zmiennych środowiskowych i ustawienia opcji powłoki w bieżącej powładzie.

Aby uzyskać dalszą ilustrację, zrobiłem plik testowy dla skryptu BASH, a następnie go wykonałem, oto kod dla utworzonego przeze mnie pliku bash:

# bashfile.cii
Eksport my_info = "Hello Linuxhint"

Tutaj stworzyłem zmienną środowiskową, która jest my_info, która ma Witam Linuxhint przechowywane w nim, a następnie wykonane za pomocą podanej składni:

.

Ponieważ utworzyłem plik o nazwie Bashfile.SH, więc użyłem powyższej składni tak:

. Bashfile.cii

Po wykonaniu pliku nazywałem zmienną środowiskową, aby zobaczyć, co jest na nim przechowywane, i zwraca w nim wartość, która wyraźnie pokazuje, że zmiany w zmiennych środowiskowych utrzymują się w bieżącej powładzie:

Wykonanie skryptu powłoki

Wykonanie skryptu powłoki jest sposobem na uruchomienie skryptu w osobnej powładzie. Po wykonywaniu skryptu tworzone jest nowa powłoka, skrypt jest uruchamiany w tej powładzie, a powłoka kończy się po zakończeniu skryptu. To pokazuje, że wszelkie zmiany dokonane w zmiennych środowiskowych lub opcjach powłoki w skrypcie nie będą utrzymywane po zakończeniu skryptu. Aby uzyskać dalszą ilustrację, zrobiłem plik testowy dla skryptu BASH, a następnie go wykonałem, oto kod dla utworzonego przeze mnie pliku bash:

# bashfile.cii
Eksport my_info = "Hello Linuxhint"

Tutaj właśnie stworzyłem zmienną środowiskową, która jest my_info, która ma Witam Linuxhint przechowywane w nim, a następnie wykonane za pomocą podanej składni:

./

Ponieważ utworzyłem plik o nazwie Bashfile.SH, więc użyłem powyższej składni tak:

./Bashfile.cii

Po wykonaniu pliku nazywałem zmienną środowiskową, aby zobaczyć, co jest na nim przechowywane, i zwraca puste miejsce, które wyraźnie pokazuje, że zmiany wprowadzone na zmienne środowiskowe lub opcje powłoki w skrypcie nie będą utrzymywane po zakończeniu skryptu:

Aby dodatkowo zilustrować różnicę podaną poniżej tabelę, która wskazuje niektóre kluczowe różnice między pozyskiwaniem a wykonywaniem pliku:

Czynniki Wykonanie skryptu powłoki Pozyskiwanie skryptu powłoki
Aliasy i funkcje Aliasy i funkcje utrzymują się tylko w skorupce skryptu. Aliasy i funkcje utrzymują się w bieżącej powładzie.
Środowisko Zmiany zmiennych środowiskowych utrzymują się tylko w skorupce skryptu. Zmiany zmiennych środowiskowych utrzymują się w bieżącej powładzie.
Składnia ./nazwa skryptu.SH lub BASH SCRIPT-Nazwa.cii . Nazwa skryptu.SH LUB SCRIPT-Nazwa.cii
Główne narzędzie Uruchom samodzielny skrypt bez wpływu na bieżącą powłokę. Skonfiguruj zmienne środowiskowe lub aliasy dla powłoki

Wniosek

Istnieją dwa sposoby uruchamiania skryptu Bash jeden jest przez pozyskiwanie go, a drugi jest poprzez wykonanie go oba drogi mają swoje znaczenie. Główna różnica między nimi polega na tym, że pozyskiwanie pliku skryptu zachowuje zmiany w zmiennych środowiskowych w bieżącej powładzie, podczas gdy wykonywanie skryptu utrzyma zmiany.A