Zmienne eksportowe w Bash

Zmienne eksportowe w Bash

Zmienne bash różnią się od innych zmiennych języków programowania. Zmienne w Bash nie wymagają deklaracji, po prostu użyj nazwy zmiennej, aby określić dane zmiennej. Zmienne zdefiniowane przez użytkownika w powładzie Bash są uważane za zmienne lokalne. Oznacza to, że zmienne skorupy nie są przekazywane do procesów dziecięcych skorupy. Zmienne muszą być wyeksportowane przez użytkownika, zanim będą mogły być wykorzystane przez procesy dziecięce. Polecenie „eksportowe” BASH służy do eksportowania podanych zmiennych do środowiska, w którym wszystkie procesy dziecięce działają w skorupce. Polecenie eksportu jest również określane jako zmienna środowiskowa.

Zmienne środowiskowe można eksportować do muszli dziecięcej, oznaczane przez polecenie eksportu. Polecenie eksportu umożliwia nam powiadomienie aktywnej sesji o wszelkich modyfikacjach dokonanych do zmiennej wyeksportowanej. Komenda eksportu przyjmuje dwa argumenty, w których pierwszym argumentem jest różne flagi polecenia eksportu, a drugim argumentem jest nazwa zmiennej, która ma być ustawiona do eksportu w subshell.

Przykład nr 1: Wykorzystanie polecenia eksportu w Bash.

Tutaj po prostu użyliśmy polecenia eksportu w naszej powładzie Bash, która wyświetlała następujące zmienne środowiskowe, które są eksportowane w naszym systemie Linux.

eksport


Polecenie eksportowe Bash ma pewne flagi, które zapewniają różne funkcje. Następująca powłoka bash jest wdrażana za pomocą polecenia eksportu, które używa flagi „-p”. Flaga „-p” jest zwykle używana do wyświetlania wszystkich wyeksportowanych zmiennych bieżącej powłoki. Po wprowadzeniu polecenia „Eksportuj -p” w powładzie Bash lista wszystkich wyeksportowanych nazw powłok jest zwracana w następujący sposób:

Eksport -p


Wszystkie nowe procesy są przekazywane do zmiennych środowiska systemowego, jak widać na powyższym obrazie. Możemy również pozbyć się zmiennych środowiskowych za pomocą innej flagi, która jest „-n”. Następujące polecenie eksportu jest ustawione z flagą „-n”, aby rozłączyć te zmienne środowiskowe. Wyjście wykazano, że polecenie „eksportu -p” jest cofnięte z poleceniem „Eksport -n”, zmienna jest ograniczona do działającej sesji powłoki.

Eksport -n

Przykład nr 2: Wykorzystanie polecenia eksportu w BASH do zmiennych eksportowych.

Wykorzystanie polecenia eksportu w powładzie bash jest wyjaśnione w wyżej wymienionej sekcji. Teraz używamy polecenia eksportu do eksportowania zmiennej powłoki bash. Polecenie zmiennej eksportu umożliwia wszystkie polecenia wykonywane w powłoce w celu uzyskania dostępu do zmiennej. Tutaj użyliśmy polecenia eksportu o nazwie zmiennej „MSG”. Zmienna eksportu „MSG” jest inicjowana z wartością ciągu. Następnie użyliśmy polecenia Echo, które jest przekazywane ze zmienną „$ MSG”. Polecenie ECHO wyświetlało wartość ciągu przechowywaną w zmiennej „$ msg”.

Eksport MSG = „Hello World”
echo MSG



Zmienne środowiskowe „MSG” utworzone za pomocą polecenia eksportu można również usunąć. Polecenie UNSET jest używane w powładzie Bash, która jest określona ze zmienną środowiskową „MSG” w celu usunięcia wartości przechowywanej w niej. Kiedy powtórzyliśmy zmienną „MSG”, zwróciła puste wyjście, gdy zostało usunięte przez polecenie UNSET.

Nieset MSG
echo $ msg


Przykład nr 3: Wykorzystanie polecenia eksportu w BASH do eksportowania funkcji lub zmiennych.

Zmienna eksportowa w powładzie bash jest zademonstrowana za pomocą działającego polecenia. Możemy również użyć polecenia eksportu powłoki bash, aby wyeksportować funkcję bash. W poniższej powładzie najpierw zdefiniowaliśmy nazwę funkcji „func ()”, w której ustawiliśmy polecenie echo, aby wydrukować instrukcję „skrypt powłoki bash”. Następnie, w następnym wierszu powłoki, użyliśmy polecenia eksportu z opcją „-F”. Opcja „-F” powiadomi polecenie eksportu, że jest to funkcja. W przeciwnym razie, jeśli użyjemy funkcji bez opcji „-F” z poleceniem eksportu, funkcja zostanie uznana za zmienną. Polecenie „Eksport -f” jest podane z funkcją „func ()” poniżej. Następnie wykonaliśmy polecenie bash, a następnie następny wiersz otrzymał nazwę funkcji „FUNC”, która zwróciła instrukcję w środku.

func () echo "bash ship script";
Eksport -F Func
grzmotnąć
Func


Przykład nr 4: Zastosowanie polecenia eksportu w BASH w celu wyeksportowania zmiennej z wartością.

Polecenie eksportu umożliwia nam również przypisanie wartości przed wyeksportowaniem zmiennej. Polecenie jest podane w następującej powładzie bash, w której najpierw deklarujemy zmienną „x” i podajemy wartość numeryczną „10”. Następnie zastosowaliśmy polecenie eksportu i przekazaliśmy mu zmienną „x”. Następnie, w celu drukowania wartości zmiennej środowiska „x” w bieżącej powładzie, nazwaliśmy metodę PrinteNV. Polecenie PrinteNV Linux zwróciło wartość „10” zmiennej eksportu „x”.

x = 10
Eksportuj x
Printenv x


Przykład nr 5: Wykorzystanie polecenia eksportu w Bash za pomocą funkcji.

Teraz tworzymy osobny plik bash, aby uzyskać oczekiwane wyniki z polecenia eksportu. W poniższym poleceniu BASH najpierw powołaliśmy się do słowa kluczowego Echo, które ma polecenie eksportu połączone z podwójnymi cytatami. Polecenie eksportu jest wykorzystywane do ustawienia zmiennej środowiska „Str”, a zmienna „Str” jest zdefiniowana z instrukcją String „My New Instrukcja” owinięta w pojedyncze cytaty. Następnie użyliśmy symbolu kątowego „>” i określiliśmy nazwę pliku „BashScript.cii". Następnie użyliśmy polecenia Bash „Source”, które przyjmuje nazwę pliku „BashScript.sh ”, aby zaimportować zmienną eksportu do powłoki bash bez generowania subshell. Po wykonaniu polecenia źródłowego wyświetlono zmienną eksportu „Str” wartość ciągu w powładzie Bash, która jest pokazana na następującym ekranie powłoki Bash.

Echo „Export str =„ My New Instrukcja ””> BashScript.cii
Źródło BashScript.cii
Echo $ str


Wniosek

Wbudowane polecenie eksportu powłoki bash ma na celu eksport zmiennych środowiskowych do subshell. Zilustrowaliśmy polecenie eksportu za pomocą kilku przykładów. Dodatkowo opisaliśmy opcje związane z eksportem „-p”, „-n” i „-f”. Zmienne ustawione za pomocą polecenia eksportu można ponownie wykorzystać i nabywać za pomocą dowolnej bieżącej powłoki BASH. Dostaliśmy również zmienną eksportową, do której można uzyskać dostęp za pośrednictwem skryptu Bash.