BASH – Pętla for: Kompleksowy przewodnik
Programowanie

BASH – Pętla for: Kompleksowy przewodnik

BASH – Pętla for: Kompleksowy przewodnik

BASH (Bourne Again Shell) to jedno z najczęściej używanych narzędzi w systemach Linux i Unix, oferujące bogate możliwości automatyzacji zadań dzięki skryptom powłoki. Jednym z najważniejszych narzędzi w arsenale BASH jest pętla for, która pozwala na iterację przez różne zestawy danych w prosty i przejrzysty sposób.

W tym artykule omówimy składnię i zastosowanie pętli for w BASH, pokażemy różne jej warianty oraz przedstawimy praktyczne przykłady użycia.


Czym jest pętla for w BASH?

Pętla for w BASH jest konstrukcją umożliwiającą iterację przez elementy listy, zakres wartości lub wyniki poleceń. Dzięki niej można wykonywać powtarzalne operacje na zestawie danych, co znacząco upraszcza skrypty i automatyzację zadań.

BASH – Pętla for: Kompleksowy przewodnik
BASH – Pętla for: Kompleksowy przewodnik

Składnia pętli for

Podstawowa składnia pętli for wygląda następująco:

for zmienna in lista
do
    # Komendy do wykonania
done

Kluczowe elementy:

  1. for zmienna – deklaruje zmienną, która przyjmuje kolejno każdą wartość z listy.
  2. in lista – określa listę elementów, przez które pętla iteruje.
  3. do i done – oznaczają początek i koniec bloku kodu wykonywanego w każdej iteracji.

Rodzaje zastosowań pętli for

1. Iteracja przez listę wartości

Najprostszym zastosowaniem pętli for jest iteracja przez zadaną listę wartości.

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

Przykład:

#!/bin/bash
for kolor in czerwony zielony niebieski
do
    echo "Kolor: $kolor"
done

2. Iteracja przez pliki w katalogu

Pętla for jest często używana do operacji na plikach w katalogu.

Przykład:

#!/bin/bash
for plik in /etc/*.conf
do
    echo "Znaleziono plik konfiguracyjny: $plik"
done

3. Iteracja przez zakres liczb

W przypadku iteracji przez liczby możemy użyć operatora {START..STOP}.

Przykład:

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

4. Iteracja z określeniem kroku

Aby iterować z określonym krokiem, używamy konstrukcji seq.

Przykład:

#!/bin/bash
for liczba in $(seq 1 2 10)
do
    echo "Liczba: $liczba"
done

Pętla for a wynik polecenia

Pętla for może iterować przez wyniki dowolnego polecenia, co jest bardzo przydatne w praktyce.

Przykład:

#!/bin/bash
for plik in $(ls /var/log)
do
    echo "Plik logu: $plik"
done

Zagnieżdżanie pętli for

Możliwe jest zagnieżdżanie pętli for w celu wykonywania bardziej złożonych operacji.

Przykład:

#!/bin/bash
for liczba in {1..3}
do
    for litera in a b c
    do
        echo "Liczba: $liczba, Litera: $litera"
    done
done

Pętla for w połączeniu z instrukcjami warunkowymi

Pętle for mogą być używane razem z instrukcjami warunkowymi, aby wprowadzać logikę do skryptów.

Przykład:

#!/bin/bash
for plik in /var/log/*
do
    if [[ -f $plik ]]
    then
        echo "Plik: $plik"
    else
        echo "$plik nie jest plikiem"
    fi
done

Przykłady zastosowań pętli for w praktyce

1. Automatyczne tworzenie kopii zapasowych

#!/bin/bash
for plik in /home/user/dokumenty/*
do
    cp $plik /backup/
    echo "Skopiowano: $plik"
done

2. Monitorowanie użycia miejsca na dysku

#!/bin/bash
for katalog in /home/* /var/*
do
    echo "Użycie dla $katalog:"
    du -sh $katalog
done

3. Przetwarzanie danych z pliku tekstowego

#!/bin/bash
for linia in $(cat lista_uzytkownikow.txt)
do
    echo "Przetwarzanie użytkownika: $linia"
    useradd $linia
done

Zalety stosowania pętli for

  1. Prostota i czytelność – składnia pętli for jest intuicyjna i łatwa do zrozumienia.
  2. Uniwersalność – pętla może iterować przez listy, pliki, wyniki poleceń i zakresy liczb.
  3. Elastyczność – pozwala na wprowadzanie warunków i wykonywanie różnych działań w każdej iteracji.
Czytaj  Podstawy programowania w Python krok po kroku – informatyka szkoła średnia

Typowe błędy i jak ich unikać

  1. Nieprawidłowe listy wartości:
    • Jeśli lista zawiera spacje, należy używać cudzysłowów.
    • Nieprawidłowo:
      for plik in Plik1 Plik2 "Plik 3"
      do
          echo $plik
      done
      
    • Prawidłowo:
      for plik in "Plik 1" "Plik 2" "Plik 3"
      do
          echo $plik
      done
      
  2. Brak uwzględnienia pustych wartości:
    • Pusta lista może prowadzić do błędów. Upewnij się, że lista wejściowa nie jest pusta.
  3. Niepoprawne użycie nawiasów klamrowych:
    • Poprawny zapis dla zakresów to {START..STOP}.

Podsumowanie

Pętla for w BASH to jedno z najważniejszych narzędzi, które pozwala na automatyzację wielu zadań w systemie Linux. Jej wszechstronność i łatwość użycia sprawiają, że jest podstawowym elementem każdego skryptu powłoki. Od prostych iteracji przez listy wartości, po złożone operacje na plikach i katalogach – pętla for umożliwia efektywne zarządzanie danymi i procesami.

Jeśli dopiero zaczynasz swoją przygodę z BASH, eksperymentuj z pętlą for, aby lepiej zrozumieć jej możliwości. Dzięki praktyce szybko odkryjesz, jak bardzo przydatna jest w codziennej pracy z systemem Linux!

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 w Brainfucku – Najkrótszy kod w najdziwniejszym języku
Programowanie w Brainfucku – Najkrótszy kod w najdziwniejszym języku

Programowanie w Brainfucku – Najkrótszy kod w najdziwniejszym języku Brainfuck to minimalistyczny, esencjonalny język programowania, który swoją prostotą i nietypowym Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.