Konstrukcje pętli (for, while)
Zautomatyzuje Pan/Pani powtarzalne zadania za pomocą pętli „for” i „while”, iterując po listach, plikach lub warunkach.
Konstrukcje pętli (for, while) to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 1 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.
Automatyzowanie zadań za pomocą pętli
Witaj! W tej lekcji poznasz pętle w skryptach Bash. Pętle to potężne narzędzia, które pozwalają skryptom wielokrotnie powtarzać zestaw poleceń.
Jest to niezbędne do automatyzowania powtarzalnych zadań, przetwarzania list danych lub wykonywania działań do momentu spełnienia określonego warunku. Poznamy dwa główne typy: pętle for i pętle while.
Pętla „for”: listy elementów
Pętla for doskonale nadaje się do przechodzenia po ustalonej liście elementów. Lista może zawierać ciąg słów, nazwy plików, liczby lub dowolne inne zdefiniowane wartości.
Jej podstawowa składnia to:
forvariableinitem1 item2 ...; do- commands to repeat
done
Każdy element listy zostanie przypisany do zmiennej variable, a polecenia zostaną wykonane dla każdego elementu.
Przykład: Iterowanie po liście
Zobaczmy działanie pętli for, iterując po liście owoców. Uruchom ten przykład, aby zobaczyć, jak przetwarzany jest każdy owoc:
#!/bin/bash
echo "My favorite fruits:"
for fruit in Apple Banana Orange;
do
echo "$fruit is delicious!"
donePętla 'for': sekwencje liczbowe
Pętla for może również z łatwością generować sekwencje liczbowe i iterować po nich. Jest to bardzo przydatne w zadaniach wymagających zliczania lub przetwarzania elementów według indeksu.
Do utworzenia sekwencji liczb można użyć rozwijania nawiasów klamrowych {start..end}:
for i in {1..5}; do ... done
Alternatywnie polecenie seq może generować sekwencje z większą liczbą opcji, takich jak określenie kroku:
for i in $(seq 1 2 10); do ... done
Przykład: Zliczanie za pomocą 'for'
Oto sposób użycia rozwijania nawiasów klamrowych do zliczania od 1 do 3. Jest to często stosowany wzorzec w prostych pętlach numerycznych.
#!/bin/bash
echo "Counting up:"
for i in {1..3};
do
echo "Number: $i"
donePętla 'while': powtarzanie warunkowe
Pętla while wykonuje blok poleceń wielokrotnie tak długo, jak długo określony warunek pozostaje prawdziwy. Jest idealna, gdy z góry nie wiadomo, ile razy trzeba wykonać pętlę.
Jej podstawowa składnia wygląda następująco:
while[ condition ]; do- commands to repeat
done
Warunek jest sprawdzany przed każdą iteracją. Jeśli jest prawdziwy, polecenia są wykonywane; jeśli nie, pętla się kończy.
Przykład: Prosty licznik z użyciem 'while'
Ten przykład pokazuje pętlę while, która zlicza od 1 do 3. Zwróć uwagę, że zmienna count jest zwiększana wewnątrz pętli, aby ostatecznie sprawić, że warunek stanie się fałszywy.
#!/bin/bash
count=1
echo "Counting with while loop:"
while [ $count -le 3 ];
do
echo "Current count: $count"
count=$((count + 1))
donePętla 'while': odczytywanie plików wiersz po wierszu
Bardzo częstym i przydatnym zastosowaniem pętli while jest odczytywanie i przetwarzanie pliku wiersz po wierszu. Ma to kluczowe znaczenie podczas analizowania plików dzienników, plików konfiguracyjnych lub dowolnych danych tekstowych.
Wzorzec często wygląda tak:
while IFS= read -r line; do- commands to process $line
done < filename.txt
IFS= read -r to niezawodny sposób odczytywania wierszy, zapobiegający problemom z białymi znakami i ukośnikami odwrotnymi.
Przykład: Przetwarzanie pliku
Utwórzmy plik tymczasowy i użyjmy pętli while, aby odczytać i wyświetlić jego zawartość wiersz po wierszu. Pokazuje to praktyczne zastosowanie przetwarzania plików.
#!/bin/bash
# Create a temporary file for demonstration
echo "First line of data" > temp_data.txt
echo "Second line of data" >> temp_data.txt
echo "Third line of data" >> temp_data.txt
echo "\nReading from temp_data.txt:"
while IFS= read -r line;
do
echo "Processed: $line"
done < temp_data.txt
# Clean up the temporary file
rm temp_data.txtWybór typu pętli
Poznałeś już pętle for i while. Każda z nich ma swoje zalety, zależnie od wykonywanego zadania.
Rozważ następujący scenariusz: trzeba przetworzyć każdą nazwę pliku w określonym katalogu.
Podsumowanie: pętle do automatyzacji
Udało Ci się poznać konstrukcje pętli w Bashu!
- Pętla
foridealnie nadaje się do iterowania po znanej, skończonej liście elementów lub sekwencji liczb. - Pętla
whilejest najlepsza, gdy trzeba powtarzać polecenia tak długo, jak długo określony warunek pozostaje prawdziwy; często używa się jej do zliczania lub odczytywania plików wiersz po wierszu.
Opanowanie tych pętli jest podstawą pisania zaawansowanych i zautomatyzowanych skryptów Bash. Ćwicz dalej, aby rozwijać swoje umiejętności tworzenia skryptów!
Często zadawane pytania
Czy lekcja „Konstrukcje pętli (for, while)” jest bezpłatna?
Tak — pełny tekst „Konstrukcje pętli (for, while)” 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 „Konstrukcje pętli (for, while)”?
Zautomatyzuje Pan/Pani powtarzalne zadania za pomocą pętli „for” i „while”, iterując po listach, plikach lub warunkach. Ć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 1 z 4.
Ile czasu zajmuje lekcja „Konstrukcje pętli (for, while)”?
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
- Konstrukcje pętli (for, while)
- Funkcje w skryptach Bash
- Argumenty i opcje skryptów ($@, $#, getopts)
- Instrukcja case i dopasowywanie wzorców