Jak używać zmiennych w Bash

Jak używać zmiennych w Bash
Dla tych, którzy wcześniej wykonywali niektóre zadania programowania, będą znać zmienne. Ale dla tych, którzy nie mają żadnej wiedzy programowania, zmienne są wykorzystywane do tymczasowego przechowywania informacji. Zmienne są zdefiniowane w programie do przechowywania określonych rodzajów danych, takich jak liczba całkowita, pływak. Jak wiemy, bash jest słabo wpisanym językiem, w którym zmienne nie są związane z określonym typem danych, dlatego nie trzeba definiować żadnego typu danych do zmiennej w czasie deklaracji. Jeśli przypiszmy wartość liczbową do zmiennej, przyjmie ją jako liczbę całkowitą, aw przypadku wartości tekstowej będzie się zachowywać jako ciąg. W skrypcie Bash zmienne, które można zdefiniować w pliku Bash lub z terminalu, są używane do zarządzania i kontrolowania działań całego programu Bash. Zmienne są dość łatwe w użyciu, ale jeśli nie rozumiesz, jak działają, możesz łatwo wpędzić się w kłopoty.

W tym artykule omówimy wiele różnych metod, za pomocą których możemy zrozumieć, jak tworzyć i używać zmiennych w skrypcie Bash. Wykonaliśmy różne przykłady związane ze zmiennymi na Ubuntu 20.04 Dystrybucja Linux. Zacznijmy demonstrację.

Jak działają zmienne?

Jak wspomnialiśmy powyżej, zmienna jest tymczasowym przechowywaniem dla informacji.
Poniższe dwa działania, które możesz wykonać podczas używania zmiennej w skrypcie Bash:

  • Ustaw określoną wartość dla zmiennej.
  • Odczyt wartość dla zmiennej.

Możesz docenić zmienne za pomocą różnych sposobów. Najczęstszym jest bezpośrednie ustawienie wartości na zmienną lub możesz ustawić jej wartość w wyniku przetwarzania poleceń lub programu.
Czytając zmienną, musimy umieścić swoją nazwę ze znakiem $ na początku tej zmiennej, którą możesz chcieć przeczytać. Przed wykonaniem każdego wiersza skryptu Bash, najpierw sprawdza, czy obecne są jakieś nazwy zmiennych. Znajduje każdą zmienną i zastępuje jej wartość nazwą zmiennej. Następnie rozpoczyna wykonywanie określonego wiersza kodu i powtarza proces dla następnego wiersza.

Istnieją kilka ważnych punktów na składni, które musisz śledzić podczas czytania zmiennej:

  • Nie używaj żadnego znaku specjalnego lub znaku $ podczas ustawiania wartości zmiennej
  • Podczas czytania zmiennej umieść znak $ na początku nazwy zmiennej
  • Niektórzy programiści piszą nazwy zmiennych we wszystkich górach, ale możemy przypisać nazwy zgodnie z naszymi preferencjami. Mogą to być wszystkie wielkie, małe litery lub mieszanina obu.

Możesz ustawić i odczytać dane ze zmiennej za pośrednictwem terminalu w następujący sposób: Po pierwsze, musisz otworzyć aplikację terminalową w swoim systemie. Otwórz terminal za pomocą skrótu klawiatury, naciskając „ctrl + alt + t”. Lub możesz go otworzyć za pomocą paska wyszukiwania uruchamiania aplikacji. Kliknij „Działania”, a następnie wpisz „Terminal” na pasku wyszukiwania, który zostanie wyświetlony na komputerze i naciśnij „Enter”. Zobaczysz następujące dane wyjściowe na ekranie terminalu. Kliknij ikonę terminalu i uruchom ją.

Podstawowa składnia deklaracji zmiennej; Ustawienie wartości zmiennej

Jak omówiliśmy wcześniej w Bash, nie musimy definiować typu zmiennej, gdy deklarujesz zmienną. Nie musisz deklarować zmiennej. Po prostu przypisz wartość do zmiennej, aby odwołać się do niej.

zmienna_nazwa = wartość

Na przykład chcemy przypisać wartość taką jak ciąg „Witamy w programowaniu Bash: Użycie zmiennych” do zmiennej o nazwie „var_str”. Za pomocą następującego polecenia możesz wykonać to zadanie:

var_str = "Welcome to Bash Programming: Używanie zmiennych"

W przeciwieństwie do większości innych nowoczesnych języków programowania, Bash oferuje wybredną składnię do ustawiania zmiennych. Powinieneś pamiętać, że nie ma potrzeby dodawania białej linie między nazwą zmiennej, równym symbolem i wartością, którą chcesz przypisać. W przeciwnym razie rzuci komunikat o błędzie.

my_var = „Przywitaj się”

W powyższym poleceniu otrzymasz błąd z powodu białej listy po równym znaku i przypisanej wartości.

Przykład: Deklaracja i odczyt ciągu za pomocą zmiennej

Weźmy przykład, w którym zapiszymy ciąg „Reguły: Jak używać zmiennej w bash”, a następnie wartość zmiennej jest pobierana za pośrednictwem polecenia ECHO, dołączając znak „$” na początku nazwy zmiennej. Poniższe polecenie należy śledzić, aby wyświetlić ciąg na terminalu:

$ my_var = "reguły: jak używać zmiennej w bashu"
$ echo $ my_var

W oknie terminalu zobaczysz następujące dane wyjściowe:

Jeśli nie użyjesz znaku „$”, wyjście programu wyświetli różne wyniki i możesz nie uzyskać wymaganego wyjścia. Pokażmy następujący przykład:

$ my_var = "reguły: jak używać zmiennej w bashu"
$ echo my_var

W powyższym poleceniu znak „$” jest usuwany o nazwie zmiennej „echo my_var”. Więc odzyskasz tylko nazwę zmiennej na wyjściu.

Prawidłowe nazwy zmiennych

Możesz przypisać nazwy zmiennych podkreślenia i sekwencje znaków alfanumerycznych.
Nazwa zmiennej powinna zacząć od znaków alfanumerycznych lub podkreślenia. Nie należy go uruchamiać od liczby ani cyfry.

Przykłady nazw zmiennych

  • Witam
  • n4
  • numer_my_array
  • _Num

Łączenie dwóch zmiennych wyjściowych

Nie musisz używać żadnego operatora do łączenia dwóch lub więcej zmiennych, podobnie jak inne języki.

Przykład

Na przykład używamy $ var1, w którym wartość ciągu do przechowywania, a $ var2 służy do przechowywania dowolnej liczby całkowitej lub wartości liczbowej. Wykonaj następujące polecenia na terminalu, które połączą wyjście Var1 i Var2.

$ var1 = „Cena domu to $”
$ var2 = 50
$ echo $ var1 $ var2

Następujące dane wyjściowe zostanie pokazane na terminalu po wykonaniu wyżej wymienionych poleceń:

Ważna uwaga:

Dane wyjściowe można wydrukować bez używania żadnych cytatów, ale jeśli chcesz używać cytatów, musisz tylko używać podwójnych kwot.

Połączenie dwóch zmiennych

Podwójne cytaty służą do odczytania wartości zmiennej w Bash.

Przykład

Weźmy przykład połączenia dwóch zmiennych. Użyliśmy podwójnych cytatów dla jednego instrukcji Echo i pojedynczego cytatu dla innej instrukcji Echo. Wykonaliśmy następujące polecenia na terminalu, które można sprawdzić poniżej wspomniane dane wyjściowe:

$ var = „zmienna konatenacja w”
$ echo „$ var Programming”
$ echo „$ var Programming”

Na powyższym zrzucie ekranu możesz zauważyć, że gdy użyjesz podwójnych cytatów z poleceniem Echo, odczytuje wartość zmienną. W przypadku pojedynczego cytatu nie jest w stanie odczytać wartości zmiennej.

Czy operacje arytmetyczne za pomocą zmiennych

W programowaniu bash możemy wykonywać różne zadania arytmetyczne, takie jak inne języki programowania. Zajmuje wartości liczbowe lub liczby całkowite jako ciągi. Jednak nie możesz wykonać żadnej operacji arytmetycznej za pomocą zwykłych prostych wyrażeń. W tym przypadku łączy tylko wartości liczbowe. Korzystając z podwójnych nawiasów początkowych i końcowych z wyrażeniem, możesz wykonywać operacje arytmetyczne.

Przykład

Na przykład mamy zmienną n, w której przechowywane jest 50 wartości liczbowych. Chcemy wtedy dodać więcej 20 do zmiennej, używając następującego polecenia, możesz wykonać tę operację:

$ n = 50
$ echo $ n
$ echo $ n+20
$ ((n = n+20))
$ echo $ n

W powyższym poleceniu widziałeś polecenie $ n+20 po prostu połącz dwie wartości. Nie daje ci pożądanego wyjścia. Dodając początkowe wsporniki ((n = n+20)), wykonałeś operację arytmetyczną z wynikiem 70.

Czy działanie arytmetyczne za pomocą polecenia BC

Inną metodą wykonywania operacji arytmetycznych jest użycie polecenia BC w Bash.

Przykład

Za pomocą następujących poleceń na terminalu możesz wykonywać zadania arytmetyczne:

$ n = 65
$ echo $ n/10 | pne

W powyższym kodzie widać, że gdy użyjesz polecenia BC do wykonywania działu operacji arytmetycznej, pominął części ułamkowe z wyniku.

$ n = 65
$ echo $ n/10 | BC -L

Gdy używasz opcji -L z poleceniem BS, w rezultacie otrzymujesz również wartość ułamkową.

Używanie zmiennych w pliku skryptu Bash

Możesz także zainicjować zmienną w skrypcie BASH przy użyciu tej samej metody, o której wspomniano w powyższych przykładach. Musisz jednak utworzyć plik skryptu Bash. Aby to zrobić, utwórz plik za pomocą edytora tekstu i wklej w nim następujący kod. Teraz zapisz to z .bash lub .rozszerzenie sh.

Przykład

W poniższym skrypcie zadeklarowaliśmy dwie zmienne jedna to ciąg, a druga ma wartości liczbowe. Chcemy odjąć 10 od podanej liczby. Wykonaj następujący skrypt w tym celu:

#!/bin/bash
Str = "Jak używać zmiennych w skrypcie bash"
# Wyświetl wartość ciągu
Echo $ str
NUM = 100
# Odejmij 10 wartości liczbowe od zmiennej NUM = 100
((wynik = $ NUM-10))
# Wyświetl wyjście numeryczne
Echo $ wynik

Na terminalu zobaczysz następujące dane wyjściowe:

Użycie zmiennych lokalnych i globalnych

Podobnie jak inne języki programowania, możesz zdefiniować zmienne lokalne i globalne w programowaniu BASH. Rozwińmy koncepcję zmiennych lokalnych i globalnych za pomocą przykładu.

Przykład

Na przykład w poniższym skrypcie BASH użyliśmy zmiennych lokalnych i globalnych. Poniższy skrypt ma jedną zmienną globalną o nazwie „NUM”, a dwie zmienne lokalne są używane o nazwie „num” i „m”.

Chcemy dodać dwie wartości zmienne za pomocą funkcji dodawania (). Kiedy ta funkcja wywoła wartość zmiennej lokalnej „NUM” do obliczeń, ale liczba, która jest zmienną globalną, pozostaje niezmieniona. Kiedy zadeklarujemy zmienne lokalne, musimy użyć lokalnego słowa kluczowego o nazwie zmiennej.

#!/bin/bash
NUM = 10
Dodatek funkcji ()

Lokalny numer = 10
Lokalny M = 10
((num = num+m))
Echo $ num

dodatek
Echo $ num

Uruchom powyższy skrypt za pomocą następującego polecenia:

$ Bash Addfun.cii

Następujące dane wyjściowe zostanie wyświetlone na terminalu po uruchomieniu powyższego skryptu:

Jak używać zmiennych tablicy w Bash

Tablice służą do przechowywania listy danych. Dlatego w skrypcie BASH możemy również używać zmiennych tablicy do przechowywania danych.

Przykład

Weźmy przykład, który pokaże, jak używać zmiennych tablicy w skrypcie Bash. Elementy tablic są oddzielone specyfikacją w programowaniu BASH. Tutaj wzięliśmy szereg 5 elementów. Nie mamy żadnej wcześniej zdefiniowanej funkcji, aby policzyć elementy całkowitej tablicy. W Bash # z * lub „@” służy do zliczenia całkowitej liczby elementów Array. Wszystkie elementy tablicy są oznaczone * znakiem. Użyliśmy pętli do iteracji w elementach tablicy. Następnie skrypt odczytuje wartości tablicy i z kluczem i wydrukuje wyjście na terminalu.

#!/bin/bash
my_arr = (Centos Ubuntu Debian Linux Mint Solaris MacOS Windows)
# Policz całkowitą liczbę elementów w tablicy
Total = $ #my_arr [*]
Echo „Całkowite elementy tablicy to: $ Total”
#Display Wartość każdego elementu tablicy
Echo „Wartości elementów tablicy:”
dla val in $ my_arr [*]
Do
printf " %s \ n" $ val
zrobione
#Display Wartość elementu każdej tablicy za pomocą klucza
Echo „Wartości elementów tablicy za pomocą klucza:”
dla klucza w $ !my_arr [*]
Do
printf " %4d: %s \ n" $ key $ my_arr [$ key]
zrobione

Następujące dane wyjściowe będzie wyświetlane na terminalu:

Podsumowujemy kilka ważnych kluczowych punktów dotyczących zmiennych w programowaniu BASH:

  • Deklaracja zmienna
zmienna_nazwa = wartość

Przy ustawianiu wartości dla zmiennej. Musisz pamiętać, że nie ma potrzeby dodawania przestrzeni po obu stronach znaku =.

  • Cytaty ”
  • Użyj podwójnych cytatów do zastąpienia zmiennej, nie będziesz używać ani jednego cytatu do odczytania zmiennej.
  • Użyj ((n = n+10)) Użyj początkowych nawiasów do operacji arytmetycznych lub możesz użyć polecenia BC.
  • Elementy tablicy, które możesz liczyć za pomocą # z * znakiem.

Wniosek

W tym artykule wyjaśniliśmy jasną koncepcję zmiennych BASH, że w jaki sposób możemy zadeklarować i odczytać wartości zmiennych w programowaniu BASH. Jeśli skorzystasz z wyżej wymienionych przykładów, będziesz mógł bardziej skutecznie poradzić sobie ze zmiennymi. Wykonaliśmy różne polecenia na terminalu, a także wykonaliśmy również w skrypcie Bash. Polecenia Bash w wierszu poleceń działają dokładnie tak samo jak w skrypcie Bash, ale kiedy masz duży kawałek kodu, możesz zarządzać nim w pliku skryptu, zamiast uruchomić jeden po drugim na terminalu.