BASH – Instrukcja if: Kompleksowy przewodnik
Programowanie

BASH – Instrukcja if: Kompleksowy przewodnik

BASH – Instrukcja if: Kompleksowy przewodnik

BASH (Bourne Again Shell) to jedno z najpopularniejszych narzędzi do automatyzacji zadań w systemach Linux i Unix. Jednym z podstawowych elementów programowania w BASH jest instrukcja warunkowa if, która pozwala na wykonywanie kodu w zależności od spełnienia określonego warunku. W tym artykule wyjaśnimy, jak działa instrukcja if, przedstawimy jej składnię oraz praktyczne przykłady użycia.


Czym jest instrukcja if w BASH?

Instrukcja if pozwala na warunkowe wykonanie fragmentu kodu. Oznacza to, że określony blok poleceń zostanie uruchomiony tylko wtedy, gdy podany warunek zostanie spełniony. To kluczowe narzędzie w tworzeniu skryptów, które reagują na różne sytuacje.

BASH – Instrukcja if: Kompleksowy przewodnik
BASH – Instrukcja if: Kompleksowy przewodnik

Podstawowa składnia instrukcji if

Podstawowa składnia instrukcji if w BASH wygląda następująco:

if [ warunek ]; then
    # kod do wykonania, jeśli warunek jest spełniony
fi

Kluczowe elementy:

  1. if – otwiera instrukcję warunkową.
  2. [ warunek ] – warunek, który jest oceniany. Można go zapisać także jako [[ warunek ]].
  3. then – wskazuje początek kodu do wykonania, jeśli warunek jest prawdziwy.
  4. fi – zamyka instrukcję if.

Rozszerzona składnia: if...else i if...elif...else

Instrukcja if może być rozszerzona o dodatkowe bloki else lub elif, które pozwalają na obsługę wielu scenariuszy.

if...else

if [ warunek ]; then
    # kod do wykonania, jeśli warunek jest spełniony
else
    # kod do wykonania, jeśli warunek nie jest spełniony
fi

if...elif...else

if [ warunek1 ]; then
    # kod do wykonania, jeśli warunek1 jest spełniony
elif [ warunek2 ]; then
    # kod do wykonania, jeśli warunek2 jest spełniony
else
    # kod do wykonania, jeśli żaden z warunków nie jest spełniony
fi

Operatory porównania w instrukcji if

Operatory porównania liczb

  • -eq – równe (==)
  • -ne – różne (!=)
  • -lt – mniejsze niż (<)
  • -le – mniejsze lub równe (<=)
  • -gt – większe niż (>)
  • -ge – większe lub równe (>=)

Przykład:

if [ 5 -gt 3 ]; then
    echo "5 jest większe niż 3"
fi

Operatory porównania ciągów znaków

  • = – równe
  • != – różne
  • -z – sprawdza, czy ciąg jest pusty
  • -n – sprawdza, czy ciąg nie jest pusty
Czytaj  Co to jest program PowerShell? Kompleksowy przewodnik

Przykład:

if [ "abc" = "abc" ]; then
    echo "Ciągi są identyczne"
fi

Operatory sprawdzania plików

  • -e – plik istnieje
  • -f – plik istnieje i jest zwykłym plikiem
  • -d – plik istnieje i jest katalogiem
  • -r – plik jest czytelny
  • -w – plik jest zapisywalny
  • -x – plik jest wykonywalny

Przykład:

if [ -e /etc/passwd ]; then
    echo "Plik /etc/passwd istnieje"
fi

Przykłady użycia instrukcji if w BASH

1. Prosty przykład z liczbami

#!/bin/bash
read -p "Podaj liczbę: " liczba

if [ $liczba -gt 10 ]; then
    echo "Podana liczba jest większa niż 10"
else
    echo "Podana liczba jest mniejsza lub równa 10"
fi

2. Sprawdzanie istnienia pliku

#!/bin/bash
plik="/etc/passwd"

if [ -f $plik ]; then
    echo "Plik $plik istnieje"
else
    echo "Plik $plik nie istnieje"
fi

3. Użycie elif do obsługi wielu warunków

#!/bin/bash
read -p "Podaj swoje imię: " imie

if [ "$imie" = "Jan" ]; then
    echo "Witaj, Jan!"
elif [ "$imie" = "Anna" ]; then
    echo "Witaj, Anna!"
else
    echo "Witaj, $imie!"
fi

4. Sprawdzanie uprawnień do pliku

#!/bin/bash
plik="/etc/passwd"

if [ -r $plik ]; then
    echo "Plik $plik jest czytelny"
else
    echo "Plik $plik nie jest czytelny"
fi

5. Sprawdzanie pustego ciągu znaków

#!/bin/bash
read -p "Podaj tekst: " tekst

if [ -z "$tekst" ]; then
    echo "Nie podałeś żadnego tekstu"
else
    echo "Wpisałeś: $tekst"
fi

Często popełniane błędy

  1. Brak spacji w instrukcji warunkowej:
    • Nieprawidłowe:
      if [5 -gt 3]; then
      
    • Prawidłowe:
      if [ 5 -gt 3 ]; then
      
  2. Nieprawidłowe użycie zmiennych:
    • Użycie zmiennej bez cudzysłowów może powodować błędy, jeśli jest pusta:
      if [ -z $zmienna ]; then
      
    • Prawidłowo:
      if [ -z "$zmienna" ]; then
      
  3. Zapomnienie o fi:
    • Każda instrukcja if musi być zakończona słowem kluczowym fi.

Podsumowanie

Instrukcja if w BASH to podstawowe narzędzie do tworzenia warunkowych operacji w skryptach. Dzięki niej możesz kontrolować przepływ działania programu, reagować na różne sytuacje i automatyzować zadania. Warto zapamiętać podstawowe składnie, operatory porównania oraz unikać najczęstszych błędów. Dobrze opanowana instrukcja if otwiera drzwi do bardziej zaawansowanego programowania w powłoce BASH.

Czytaj  Jak działa kontrola wersji (Git) i dlaczego jest ważna?

BASH – elastyczność, którą oferuje dzięki takim funkcjom jak instrukcja if, sprawia, że jest niezastąpiony w codziennej pracy administratora systemu i programisty.

Polecane wpisy
Podstawy języka PHP: Wprowadzenie do programowania w PHP
Podstawy języka PHP: Wprowadzenie do programowania w PHP

PHP jest jednym z najpopularniejszych języków programowania używanych do tworzenia dynamicznych stron internetowych i aplikacji webowych. Jeśli dopiero zaczynasz przygodę Czytaj dalej

Programowanie mikrokontrolerów i systemów wbudowanych: Kompleksowy przewodnik
Programowanie mikrokontrolerów i systemów wbudowanych: Kompleksowy przewodnik

Programowanie mikrokontrolerów i systemów wbudowanych: Kompleksowy przewodnik W dzisiejszych czasach mikrokontrolery oraz systemy wbudowane odgrywają kluczową rolę w niemal każdej Czytaj dalej