Zrozumienie i pisanie „Zmienne Linux” w skonstrukcji - Część 10

Zrozumienie i pisanie „Zmienne Linux” w skonstrukcji - Część 10

Język scenariuszy Linux Shell zawsze był gorącym tematem i zawsze będzie w przyszłości. Język scenariusza skorupy jest magiczny i jest tak łatwy do wykonania programu w języku skryptowym, jak w każdym innym języku. Potrzebuje jednak dogłębnej wiedzy o tym, co robimy i czego się spodziewamy.

Zrozumienie zmiennych w skryptach skorupowych

Wszystkie artykuły skorupowe, które napisaliśmy dla naszych czytelników, są bardzo mile widziane, w tym ostatni „wgląd zmiennych Linuksa”. Rozszerzamy ostatni artykuł na nowy poziom.

Atrybuty zmienne

Każda zmienna w środowisku Linux ma pewne opcje, a są one nazywane „atrybutami”. Te opcje lub atrybuty można obrócić NA I Wyłączony, w razie potrzeby zgodnie z sytuacją za pomocą polecenia „deklaruj”.

Przykładem atrybutu zmiennego jest użycie przełącznika powiedz-I„który włączy atrybut liczb całkowitych dla odpowiedniej zmiennej. Nawet jeśli wartość niewidzialna jest przekazywana do przełącznika-I„Nie wyrzuci komunikatu o błędzie i wyjście”0„Jako interpretacja liczb całkowitych. Tutaj staje się bardziej jasne z poniższego przykładu.

Deklaruj zmienną liczbę całkowitą, rachunek = 121

[e -mail chroniony]: ~ $ declare -i Bill = 121

Wydrukuj wartość zmiennego rachunku.

[e -mail chroniony]: ~ $ printf "%d \ n" "$ Bill" 121

Niech wartość zmienna będzie ciągiem. Zmienna ustawa jest już zadeklarowana, nie ma potrzeby deklarowania tego po raz drugi. Po prostu zmień wartość zmiennej jako.

[e -mail chroniony]: ~ $ Bill = Tecmint

Teraz ponownie wydrukuj wartość zmiennego rachunku.

[e -mail chroniony]: ~ $ printf "%d \ n" "$ Bill" 0

Ogłoszenie '0„W miejscu komunikatu o błędzie.

Pytanie brzmi: jak poznać atrybuty już zadeklarowanych zmiennych?
[e -mail chroniony]: ~ $ declare -p Bill Deklaruj -i Bill = „121”

Tutaj -P (oznacza druk) Switch przychodzi na ratowanie.

Ponownie, co powinienem zrobić, aby wyłączyć atrybuty zmiennej?

Aby zmienić Wyłączony Atrybuty zmiennej, czego potrzebujemy wszystko, to umieszczenie + (plus) Podpisz tuż przed przełącznikiem. Tutaj jest bardziej jasne z poniższego przykładu.

Przełącznik Wyłączony atrybut liczb całkowitych dla powyższej zmiennej.

[e -mail chroniony]: ~ $ declare +i rachunek

Sprawdź wartość zmiennej.

[e -mail chroniony]: ~ $ printf "%d \ n" "$ bill" bash: printf: rachunek: nieprawidłowy numer 0

Teraz wydrukuj wartość zmiennej za pomocą ciągu przełącznika.

[e -mail chroniony]: ~ $ printf "%s \ n" "$ bill" tecMint

Tutaj, w powyższym przykładzie, Bash nie mógł ocenić wartości niewiazowej jako błędu, printf jest interpretacja, co może być liczbą, a co nie.

Zmienne tylko do odczytu

Być może usłyszałeś czytanie tylko pamięci (Rom), ale co jest zmienną tylko do odczytu? Czy to podobieństwo do ROM?

Zmienne tylko odczytane, takie jak pamięć tylko do odczytu, to wartość, której nie można zmienić po jej przypisaniu. Stąd nazywa się to tylko odczytem. Nie możesz pisać, edytować ani modyfikować nowej wartości dla tej zmiennej. Oto ilustracja z przykładem.

Decalre a tylko odczyt (-R) Nazwa zmiennej, której wartość to „Tecmint.com ”.

[e -mail chroniony]: ~ $ declare -r name = "TecMint.com "

Wydrukować wartość powyżej zadeklarowanej zmiennej.

[e -mail chroniony]: ~ $ printf "%s \ n" "$ name" tecMint.com

Spróbuj zmienić wartość zmiennej.

[e -mail chroniony]: ~ $ declare -r name = "avishek" Bash: Deklaracja: Nazwa: odczyt zmienna

Jak omówiono powyżej, atrybuty zmiennej tylko do odczytu można zmienić za pomocą '+' podpisać.

Zmienne eksportowanie w Linux

Wszystkie zmienne powłoki zadeklarowane w skrypcie powłoki są dostępne do uruchomienia skryptu. Poza skryptem zmienna z skryptu nie istnieje. Proces udostępniania zmiennych poza skryptem nazywa się zmiennymi eksportującymi.

Zmienną można wyeksportować poza powłoką za pomocą przełącznika Deklaruj -x (Eksport), który potwierdza powłokę, co chciałeś wyeksportować. Deklarowany przełącznik eksportowy może być używany jako.

[e -mail chroniony]: ~ $ declare -x zmienna = ”constant_value”

Wszystkie zmiany wprowadzone w zmiennej podczas uruchomienia skryptu są tracone, gdy zmienna jest eksportowana poza skryptem. Zmienna eksportowa jest bardzo ważna w skryptowaniu skorupy.

Chcemy mieć zmienną, która powinna być tylko do odczytu i dostępna poza skryptem, musimy użyć przełącznika -R i przełącz -X w tym samym czasie.

[e -mail chroniony]: ~ $ declare -rx zmienna = ”constant_value”

Zmienne środowiska

Zmienne, które są udostępniane między programem a programem, które je wykonują. Zmienne środowiskowe można wyeksportować, ale atrybutów nie można przypisać do niego.

Zrozumienie powyższej teorii praktycznie. Tutaj mamy dwa scenariusze 0.cii I 1.cii.

# 0.cii #!/bin/bash declare -rx Nazwa = Tecmint Bash 0.SH Exit 0

A drugi skrypt jest.

# 1.cii #!/bin/bash printf "%s \ n" "$ name" Nazwa = TecMint.com printf "%s \ n" "$ name" exit 0

Tutaj, co się dzieje, jest zmienna (nazwa), jest zadeklarowana tylko jako odczytana i eksportowana i natychmiast po tym, jak ten drugi skrypt zostanie wywołany.

Drugi skrypt właśnie wydrukował zmienną z pierwszego skryptu, który został wyeksportowany w pierwszym printf oświadczenie. W drugiej instrukcji PrintF pokazuje nową wartość przypisaną do zmiennej 'nazwa'.

Nie musisz się martwić, że zmienna była tylko odczytana, jak można ją przypisać. Nie pamiętaj, że „wszystkie zmiany wprowadzone na zmienną podczas uruchomienia skryptu są tracone, gdy zmienna jest eksportowana poza skryptem."

Bibliografia

ogłosić Polecenie pozwala na wszystkie przełączniki poniżej wraz z ich kombinacją.

  1. -A : Deklaruje tablicę.
  2. -F : Wyświetl funkcję i definicję.
  3. -F : Nazwa funkcji wyświetlania.
  4. -R : Deklaruj zmienną jako tylko do odczytu.
  5. -X : Deklaruj zmienną jako eksportową.
  6. -I : Deklaruj zmienną jako liczbę całkowitą.

To wszystko na teraz. W następnym artykule będziemy omawiać sposoby zastępowania zmiennych za pomocą 'ocenia„polecenie i zmienne już zdefiniowane w Bash przed zamknięciem tego tematu. Mam nadzieję, że ludzie cieszą się twoją podróżą do dogłębnej scenariuszy. Do tego czasu bądź na bieżąco i związany z Tecmint.com.