0Pricing
DevOps Bootcamp · Lekcja

Instrukcje warunkowe (if, else, elif)

Zaimplementuje Pan/Pani logikę podejmowania decyzji w skryptach za pomocą instrukcji „if”, „else” i „elif”, uzyskując dynamiczne działanie.

Instrukcje warunkowe (if, else, elif) to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Dlaczego instrukcje warunkowe są ważne

W skryptach Bash czasami trzeba podejmować decyzje. Wyobraźmy sobie skrypt, który wykonuje różne działania w zależności od danych wprowadzonych przez użytkownika lub istnienia pliku.

Właśnie do tego służą instrukcje warunkowe! Pozwalają skryptowi wykonywać określone bloki kodu tylko wtedy, gdy spełnione są konkretne warunki.

Podstawowa instrukcja „if”

Najprostszą instrukcją warunkową jest instrukcja if. Sprawdza ona warunek i jeśli jest on prawdziwy, wykonywany jest blok poleceń.

Składnia wygląda następująco:

  • if [ condition ]
  • then
  • # commands if condition is true
  • fi (oznacza koniec bloku if)

Pierwszy skrypt z „if”

Zobaczmy podstawową instrukcję if w działaniu. Ten skrypt sprawdza, czy liczba jest większa od 5.

Proszę zmienić wartość NUMBER i uruchomić skrypt!

#!/bin/bash

NUMBER=10

if [ $NUMBER -gt 5 ]
then
  echo "The number $NUMBER is greater than 5."
fi

echo "Script finished."

Tworzenie warunków testowych

Część [ condition ] ma kluczowe znaczenie. W rzeczywistości jest to polecenie o nazwie test lub jego alias [.

Można także użyć [[ condition ]], czyli bardziej zaawansowanej wersji zapewniającej lepszą składnię i zapobiegającej problemom z dzieleniem słów. W przypadku początkujących często stosuje się [ ].

  • Zawsze należy wstawiać spacje wokół nawiasów i operatorów.
  • Zmienne wewnątrz [ ] należy zwykle ujmować w cudzysłowy (np. "$VARIABLE"), aby zapobiec błędom w przypadku pustych wartości lub wartości zawierających wiele słów.

Porównywanie liczb

Podczas porównywania liczb w Bash używa się określonych operatorów:

  • -eq: równe
  • -ne: różne
  • -gt: większe niż
  • -ge: większe lub równe
  • -lt: mniejsze niż
  • -le: mniejsze lub równe

Operatorów tych używa się wewnątrz [ ] lub [[ ]].

Porównywanie tekstów

Do porównywania tekstu (łańcuchów) służą inne operatory:

  • == lub =: równe (== jest zalecane w [[ ]])
  • !=: różne
  • -z "$STRING": prawda, jeśli łańcuch jest pusty (ma długość zero)
  • -n "$STRING": prawda, jeśli łańcuch nie jest pusty (ma długość większą od zera)

Pamiętaj, aby ujmować zmienne tekstowe w cudzysłowy!

Instrukcja „if-else”

Co zrobić, jeśli w przypadku prawdziwego warunku ma zostać uruchomiony jeden blok kodu, a w przypadku fałszu — inny?

Do tego służy if-else! Zapewnia alternatywną ścieżkę działania skryptu.

Składnia wygląda następująco:

  • if [ condition ]
  • then
  • # commands if true
  • else
  • # commands if false
  • fi

„if-else” w działaniu

Ten skrypt prosi o podanie liczby i informuje, czy jest ona dodatnia. Wykorzystuje strukturę if-else.

Uruchom go kilka razy, podając różne dane (np. 5, -3, 0).

#!/bin/bash

read -p "Enter a number: " NUM

if [ "$NUM" -gt 0 ]
then
  echo "$NUM is a positive number."
else
  echo "$NUM is not a positive number (it's zero or negative)."
fi

Wiele możliwości z „elif”

Jeśli istnieją więcej niż dwa możliwe wyniki, można użyć elif (skrót od „else if”). Pozwala to sprawdzać wiele warunków po kolei.

Składnia wygląda następująco:

  • if [ condition1 ]
  • then
  • # commands if condition1 is true
  • elif [ condition2 ]
  • then
  • # commands if condition1 is false AND condition2 is true
  • else
  • # commands if all conditions are false
  • fi

Zaawansowana logika decyzyjna

Utwórzmy skrypt, który kategoryzuje wiek użytkownika za pomocą if, elif i else. Obsługuje on wiele scenariuszy.

Zwróć uwagę na użycie && do łączenia warunków w [[ ]] (logiczne AND).

#!/bin/bash

read -p "Enter your age: " AGE

if [[ $AGE -lt 13 ]]
then
  echo "You are a child."
elif [[ $AGE -ge 13 && $AGE -lt 18 ]]
then
  echo "You are a teenager."
elif [[ $AGE -ge 18 && $AGE -lt 65 ]]
then
  echo "You are an adult."
else
  echo "You are a senior citizen."
fi

Sprawdzanie warunków

Rozważmy następujący skrypt Bash:

#!/bin/bash

SCORE=85

if [ $SCORE -lt 60 ]
then
  echo "Fail"
elif [ $SCORE -lt 80 ]
then
  echo "Pass"
else
  echo "Distinction"
fi

Podsumowanie instrukcji warunkowych

Świetna praca! Nauczył się Pan/Nauczyła się Pani, jak zwiększyć możliwości skryptów Bash za pomocą instrukcji warunkowych.

  • Instrukcja if wykonuje kod, jeśli warunek jest prawdziwy.
  • else zapewnia alternatywną ścieżkę, jeśli warunek if jest fałszywy.
  • elif pozwala sprawdzać wiele warunków po kolei.
  • Pamiętaj o używaniu odpowiednich operatorów (-eq dla liczb, == dla tekstów) i zawsze zamykaj bloki if za pomocą fi.

Narzędzia te są podstawą tworzenia dynamicznych i interaktywnych skryptów!

Często zadawane pytania

Czy lekcja „Instrukcje warunkowe (if, else, elif)” jest bezpłatna?

Tak — pełny tekst „Instrukcje warunkowe (if, else, elif)” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Co nauczysz się w „Instrukcje warunkowe (if, else, elif)”?

Zaimplementuje Pan/Pani logikę podejmowania decyzji w skryptach za pomocą instrukcji „if”, „else” i „elif”, uzyskując dynamiczne działanie. Ćwiczysz DevOps Bootcamp z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć DevOps Bootcamp?

Nie wymagamy żadnego doświadczenia. DevOps Bootcamp w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Instrukcje warunkowe (if, else, elif)”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji DevOps Bootcamp?

Tak. Każda lekcja DevOps Bootcamp zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Pierwszy skrypt Bash i shebang
  2. Zmienne i dane wprowadzane przez użytkownika
  3. Instrukcje warunkowe (if, else, elif)
  4. Praca z tablicami w Bashu
← Powrót do DevOps Bootcamp