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