Jak używać pętli i instrukcji warunkowych w skryptach bash w Linux?

Wprowadzenie do pętli i instrukcji warunkowych w skryptach bash

Skrypty bash są nieodłącznym elementem pracy z systemami Linux. Umożliwiają automatyzację zadań, zarządzanie systemem oraz wykonywanie skomplikowanych operacji w prosty sposób. Dwa kluczowe elementy, które pozwalają na tworzenie bardziej zaawansowanych skryptów, to pętle i instrukcje warunkowe. W tym artykule omówimy, jak używać tych narzędzi w skryptach bash, aby zwiększyć ich funkcjonalność i efektywność.

Pętle w skryptach bash

Pętle pozwalają na wielokrotne wykonywanie określonego bloku kodu. W bashu mamy do dyspozycji kilka rodzajów pętli, w tym for, while oraz until.

Pętla for

Pętla for jest używana do iteracji przez listę elementów. Oto przykład:

#!/bin/bash
for i in {1..5}
do
  echo "Liczba: $i"
done

Wynik tego skryptu to:

Liczba: 1
Liczba: 2
Liczba: 3
Liczba: 4
Liczba: 5

Pętla while

Pętla while wykonuje blok kodu tak długo, jak warunek jest prawdziwy. Przykład:

#!/bin/bash
i=1
while [ $i -le 5 ]
do
  echo "Liczba: $i"
  ((i++))
done

Wynik tego skryptu jest taki sam jak w przypadku pętli for.

Pętla until

Pętla until działa odwrotnie do pętli while; wykonuje blok kodu, dopóki warunek jest fałszywy:

#!/bin/bash
i=1
until [ $i -gt 5 ]
do
  echo "Liczba: $i"
  ((i++))
done

Wynik również będzie taki sam jak w poprzednich przykładach.

Instrukcje warunkowe w skryptach bash

Instrukcje warunkowe pozwalają na wykonywanie różnych bloków kodu w zależności od spełnienia określonych warunków. Najczęściej używane instrukcje warunkowe to if, else, elif oraz case.

Instrukcja if

Instrukcja if sprawdza, czy warunek jest prawdziwy, i wykonuje blok kodu, jeśli tak jest:

#!/bin/bash
a=10
b=20
if [ $a -lt $b ]
then
  echo "$a jest mniejsze niż $b"
fi

Wynik:

10 jest mniejsze niż 20

Instrukcja if-else

Instrukcja if-else pozwala na wykonanie alternatywnego bloku kodu, jeśli warunek nie jest spełniony:

#!/bin/bash
a=30
b=20
if [ $a -lt $b ]
then
  echo "$a jest mniejsze niż $b"
else
  echo "$a jest większe lub równe $b"
fi

Wynik:

30 jest większe lub równe 20

Instrukcja elif

Instrukcja elif pozwala na sprawdzenie dodatkowych warunków:

#!/bin/bash
a=30
b=30
if [ $a -lt $b ]
then
  echo "$a jest mniejsze niż $b"
elif [ $a -eq $b ]
then
  echo "$a jest równe $b"
else
  echo "$a jest większe niż $b"
fi

Wynik:

30 jest równe 30

Instrukcja case

Instrukcja case jest używana do sprawdzania wielu warunków w bardziej zwięzły sposób:

#!/bin/bash
echo "Podaj ocenę (1-5):"
read ocena
case $ocena in
  1)
    echo "Bardzo źle"
    ;;
  2)
    echo "Źle"
    ;;
  3)
    echo "Średnio"
    ;;
  4)
    echo "Dobrze"
    ;;
  5)
    echo "Bardzo dobrze"
    ;;
  *)
    echo "Nieprawidłowa ocena"
    ;;
esac

Wynik zależy od wprowadzonej oceny.

Podsumowanie

Pętle i instrukcje warunkowe są kluczowymi elementami skryptów bash, które pozwalają na tworzenie bardziej zaawansowanych i funkcjonalnych skryptów. Pętle for, while i until umożliwiają wielokrotne wykonywanie bloków kodu, podczas gdy instrukcje warunkowe if, else, elif oraz case pozwalają na podejmowanie decyzji w zależności od spełnienia określonych warunków. Dzięki tym narzędziom można znacznie zwiększyć efektywność i elastyczność skryptów bash w systemie Linux.

Leave a Comment

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

Scroll to Top