Zmienne służą do przechowywania wartości różnych typów podczas wykonywania programu. W skryptach Bash istnieją dwa typy zmiennych: globalne i lokalne.

Zmienne globalne mogą być używane przez wszystkie skrypty Bash w twoim systemie, podczas gdy zmienne lokalne mogą być używane tylko w skrypcie (lub powłoce), w którym są zdefiniowane.

Zmienne globalne są zazwyczaj domyślnie dostarczane w systemie i są to głównie zmienne środowiskowe i konfiguracyjne. Z drugiej strony zmienne lokalne są definiowane przez użytkownika i mają dowolne zastosowanie.

Bash Zmienne lokalne

Aby utworzyć zmienną, musisz przypisać wartość do nazwy zmiennej. Bash jest językiem bez typu, więc nie musisz wskazywać typu danych podczas definiowania zmiennych.

var1=Witaj

Bash pozwala również na wiele przypisań w jednej linii:

a=6 b=8 c=9

Podobnie jak wiele innych języków programowania, Bash używa operatora przypisania = aby przypisać wartości do zmiennych. Należy zauważyć, że po obu stronach operatora przypisania nie powinno być żadnych spacji. W przeciwnym razie otrzymasz błąd kompilacji.

instagram viewer

Związane z: Co oznacza "Bash" w Linuksie?

Kolejny kluczowy punkt do zapamiętania: Bash nie pozwala najpierw zdefiniować zmiennej, a następnie przypisać jej wartość. Musisz przypisać wartość do zmiennej podczas tworzenia.

var2 # błąd kompilacji 
var2=Świat

Czasami może być konieczne przypisanie do zmiennej ciągu zawierającego spację. W takim przypadku umieść ciąg w cudzysłowie.

# var3=Witaj świecie 
# powyższe zadanie nie działa
var3='Witaj świecie'

Zwróć uwagę na użycie pojedynczych cudzysłowów. Te cudzysłowy są również nazywane „mocnymi cudzysłowami”, ponieważ przypisują wartość dokładnie tak, jak jest napisana, bez względu na jakiekolwiek znaki specjalne.

W powyższym przykładzie mogłeś również użyć podwójnych cudzysłowów („słabych cudzysłowów”), ale nie oznacza to, że zawsze można ich używać zamiennie. Dzieje się tak, ponieważ podwójne cudzysłowy zastępują znaki specjalne (takie jak znaki $), zamiast interpretować je dosłownie.

Zobacz przykład poniżej:

zm4=89
echo "Liczba to $var4"
echo 'Liczba to $var4'
# Pierwsze wydruki wyjściowe: 89
# Drugie wyjście drukuje pozostawia "$var4" bez zmian

Jeśli chcesz przypisać wyjście wiersza poleceń do swojej zmiennej, użyj odwrotnych cudzysłowów (``). Traktują zawarty w nich ciąg znaków jako polecenie terminala i zwracają jego wynik.

var5="Obecnie pracujesz w tym katalogu: `pwd`"

Rozszerzenie parametrów w Bash

Rozszerzenie parametrów po prostu odnosi się do dostępu do wartości zmiennej. W najprostszej formie używa znaku specjalnego $ po którym następuje nazwa zmiennej (bez spacji pomiędzy):

var6=Jack
echo Nazywam się $var6

Możesz także użyć składni ${nazwa zmiennej} aby uzyskać dostęp do wartości zmiennej. Ta forma jest bardziej odpowiednia, gdy może pojawić się zamieszanie wokół nazwy zmiennej.

m=Śred
echo Med oznacza ${m}ical

Jeśli pominiesz nawiasy klamrowe, ${m}ical zostanie zinterpretowana jako zmienna złożona (która nie istnieje). Takie użycie nawiasów klamrowych ze zmiennymi jest znane jako „podstawianie”.

Zmienne globalne

Jak wspomniano wcześniej, twój system Linux ma kilka wbudowanych zmiennych, do których można uzyskać dostęp we wszystkich twoich skryptach (lub powłokach). Dostęp do tych zmiennych jest uzyskiwany przy użyciu tej samej składni, co zmienne lokalne.

Związane z: Jak tworzyć i wykonywać skrypty Bash w systemie Linux

Większość tych zmiennych jest pisana WIELKIMI literami. Jednak niektóre to pojedyncze znaki, które nie są nawet znakami alfanumerycznymi.

Oto kilka typowych użytecznych zmiennych globalnych:

DOM: Zapewnia katalog domowy użytkownika

MUSZLA:Zapewnia typ używanej powłoki (np. Bash, csh..etc)

?: Podaje status wyjścia poprzedniego polecenia

Aby uzyskać listę zmiennych globalnych w systemie, uruchom printenv (lub env) polecenie:

$ printenv 

Pętle w skryptach Bash

Teraz wiesz, czym są zmienne, jak je przypisać i jak z ich pomocą wykonać podstawową logikę Bash.

Pętle umożliwiają iterację wielu instrukcji. Bash mieści dla pętle i dopóki pętle o prostej składni dla wszystkich Twoich potrzeb związanych z pętlami.

Jeśli opanowujesz sztukę tworzenia Bash, dla pętle powinny być następne na twojej liście.

Jak używać pętli for w skrypcie powłoki Linux Bash

Po co w kółko uruchamiać ten sam kod w skrypcie powłoki, skoro można zrobić to za nas pętla for?

Czytaj dalej

UdziałĆwierkaćE-mail
Powiązane tematy
  • Programowanie
  • Powłoka Bash dla Linuksa
  • Wskazówki dotyczące kodowania
O autorze
Jerome Davidson (34 opublikowane artykuły)

Jerome jest pisarzem sztabowym w MakeUseOf. Zajmuje się artykułami na temat programowania i Linuksa. Jest także entuzjastą kryptowalut i zawsze śledzi branżę kryptograficzną.

Więcej od Jerome'a ​​Davidsona

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować