Przejdź do treści
Strona główna » Podstawy Bash #2: Zmienne

Podstawy Bash #2: Zmienne

    W poprzedniej lekcji podstaw bash nauczyliśmy się, jak zapisywać i uruchamiać skrypty bash. W tej lekcji poznamy zmienne, które są podstawowym elementem języka skryptowego bash.
    Zmienna to miejsce w pamięci komputera, w którym przechowywana jest jakaś wartość. W skryptach bash zmienne są używane do przechowywania danych, które będą wykorzystywane później w skrypcie.

    Definiowanie zmiennych

    Zmienne w języku bash definiuje się używając składni:

    nazwa_zmiennej=wartość
    

    Nazwa zmiennej może składać się z dowolnych liter, cyfr (cyfra nie może być pierwszym znakiem nazwy zmiennej) oraz znaku podkreślenia. Wartość zmiennej może być liczbą, tekstem, tablicą lub listą.

    Przykład

    # Definiujemy zmienną i przypisujemy jej wartość liczbową
    
    liczba=10
    
    # Wyświetlamy wartość zmiennej
    
    echo $liczba
    

    Wynik:

    10
    

    Odczytywanie wartości zmiennych w języku bash

    Wartość zmiennej można odczytać za pomocą znaku dolara ($).

    Przykład

    # Definiujemy zmienną i przypisujemy jej wartość tekstową
    
    tekst="To jest tekst"
    
    # Wyświetlamy wartość zmiennej
    
    echo $tekst
    

    Wynik:

    To jest tekst
    

    Operatory arytmetyczne używane na zmiennych

    Operatory arytmetyczne umożliwiają wykonywanie operacji arytmetycznych na wartościach zmiennych:

    • + – dodawanie
    • - – odejmowanie
    • * – mnożenie
    • / – dzielenie
    • % – modulo

    Przykład

    # Definiujemy dwie zmienne
    
    liczba1=10
    liczba2=20
    
    # Przypisujemy wartość zmiennej na podstawie wyniku działania operatora arytmetycznego
    
    wynik=$((liczba1 + liczba2))
    
    # Wyświetlamy wartość zmiennej
    
    echo $wynik
    

    Wynik:

    30
    

    Wczytywanie danych od użytkownika

    W skryptach bash często potrzebne jest wczytywanie danych od użytkownika. Może to być na przykład imię i nazwisko użytkownika. Wczytanie danych od użytkownika można zrobić za pomocą polecenia read.

    Składnia polecenia read

    read [opcje] zmienna
    

    Opcje polecenia read

    • -p – wyświetla komunikat przed wczytaniem danych
    • -s – wczytuje dane w trybie cichy, bez wyświetlania ich na ekranie
    • -n – wczytuje określoną liczbę znaków
    • -r – zapobiega interpretacji znaków specjalnych

    Przykład

    # Wczytujemy od użytkownika imię
    
    read -p "Podaj imię: " imie
    
    # Wyświetlamy imię
    
    echo "Imię: $imie"
    

    Wynik:

    Podaj imię: Jan
    
    Imię: Jan
    

    Wczytywanie liczb od użytkownika

    Aby wczytać liczbę od użytkownika, należy użyć polecenia read z opcją -n.

    Przykład

    # Wczytujemy od użytkownika liczbę
    
    read -n 1 liczba
    
    # Wyświetlamy liczbę
    
    echo "Liczba: $liczba"
    

    Wynik:

    Podaj liczbę: 10
    
    Liczba: 10

    Ćwiczenia ze zmiennymi

    Na koniec jak poprzednio, mam dla was proste ćwiczenie które utrwali wam podstawy jakie zdobyliście przerabiając obie części kursu. Rozwiązanie jak poprzednio będzie znajdować się na tej stronie.

    Ćwiczenie 1

    Napisz prosty kalkulator BMI, wzór BMI to proste równanie matematyczne, które pozwala na wyliczenie zawartości tkanki tłuszczowej w naszym organizmie.
    Obliczania BMI za pomocą następującej formuły:

    BMI = masa ciała / (wzrost * wzrost)

    Wskazówka – Wzrost zawsze podajemy w metrach czyli nie 173, ale 1.73. Wagę podajemy zawsze w kilogramach.

    Ćwiczenie 2

    Napisz skrypt, który definiuje zmienną o nazwie litera i przypisuje jej wartość litery A. Następnie skrypt powinien wyświetlić wartość zmiennej na ekranie w postaci tekstu.

    Ćwiczenie 3

    Napisz skrypt, który wczytuje od użytkownika imię, nazwisko, numer telefonu i adres e-mail. Następnie skrypt powinien wyświetlić te dane na ekranie.

    1 komentarz do “Podstawy Bash #2: Zmienne”

    1. Pingback: Podstawy Bash #3: Operacje Arytmetyczne » Slothmachine

    Dodaj komentarz

    Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

    Optimized by Optimole