Ten przewodnik pokazuje jedną linię do pętli w Bash.
Bash for Loop
Bash ma wiele rodzajów pętli - dla, podczas gdy i do czasu. Każdy rodzaj pętli ma inną strukturę. Jednak podstawy pozostają takie same. Dla początkujących ten przewodnik wyjaśnia dogłębnie co do różnych pętli bashu i sposobu ich wdrożenia.
Jak sugeruje tytuł tego przewodnika, skupiamy się na pętli. Podczas gdy w przypadku pętli zwykle wymaga wielu linii, możemy reprezentować go w jednym wierszu, jeśli pętla jest wystarczająco prosta. Proces ten wymaga jednak zrozumienia podstaw bashu dla pętli.
Aby uruchomić nasze kody bash, potrzebujemy skryptu powłoki. Mam już manekin, aby uruchomić nasze kody.
$ Cat Dummy.ciiDla struktury pętli
To jest podstawowa struktura pętli dla pętli.
dla [listy]
Do
zrobione
Oto szybki przykład pętli wdrażający tę strukturę.
bo w 1… 5
Do
Echo „Numer: $ i”
zrobione
Bash obsługuje również styl C dla pętli. Jeśli masz tło programowania w C, w stylu C dla pętli będzie łatwe do zrozumienia.
Do ((; ; ))
Do
zrobione
Umieśćmy styl C dla pętli w akcji.
dla ((i = 1; i <= 5; i++)); do
Echo „Numer: $ i”
zrobione
W przypadku pętli może również pracować z plikami. W poniższym przykładzie pętla przeszuka wszystkie partycje na dysku „/dev/sda” i wydrukuje wszystko.
dla i in /dev /sda*; Do
echo „$ i”
zrobione
Jedna linia do pętli
Z zakrytymi podstawami możemy teraz kompresować pętle w jedną linię. Zasadniczo wyeliminujemy nowe linie z całego kodu pętli. Możemy również uruchomić te pętle bezpośrednio z wiersza poleceń.
Skompresujmy pierwszy przykład. Jeśli wyeliminujemy wszystkie nowe linie, kod będzie wyglądał tak.
$ dla i in 1… 5; Echo „Numer: $ i”; zrobione
Jak widać, wszystkie nowe linie są usuwane. Zamiast tego te nowe linie są zastępowane półkolisami (;).
Możemy zrobić to samo w stylu C dla pętli.
$ dla ((i = 1; i <= 5; i++)); do echo "number: $i"; done
Spójrz na następujący przykład. Wszystkie pliki konfiguracyjne w środku „/itp.”Zostanie skopiowany jako kopia zapasowa do katalogu„ ~/kopii zapasowej ”.
$ dla i in /etc /*.conf; do CP $ I/HOME/Viktor/Backup; zrobione
Do pętli z warunkowaniem
W wielu przypadkach pętla będzie zawierać warunki do podejmowania decyzji w różnych punktach powtórzenia.
Tutaj następujące pętle wydrukują wszystkie liczby parzyste w stałym zakresie.
Dla I in 1… 10; Do
jeśli [$ (i%2)) -EQ 0]; Następnie
echo „$ nawet”
fi
zrobione
Możliwe jest wyrażenie całej tej pętli w jedną linię. Tak jak poprzednio, wymień całą nową linię na półkolony (;).
$ dla i in 1… 10; zrób, jeśli [$ (i%2)) -EQ 0]; Potem echo „$ i nawet”; fi; zrobione
Zaleca się, aby najpierw zapisać pętlę z odpowiednim odstępem. Po potwierdzeniu, że pętla działa prawidłowo, możemy bezpiecznie skompresować ją do jednej linii.
Różne przykłady
Oto garść jednej linii dla pętli w celach informacyjnych.
$ za i w 1 2 3 4 5; Echo „Numer: $ i”; zrobione
$ za i w procesorach płyty głównej Ram PSU GPU; echo „Computer Part: $ i”; zrobione
Następnym przykładem będzie nieskończona pętla.
$ dla ((;;;)); echo "do nieskończoności!"; zrobione
Końcowa myśl
Ten przewodnik pokazuje różne skuteczne przykłady pętli. Bardzo łatwo jest przekształcić normę dla pętli w jedną linię. Mamy nadzieję, że po ćwiczeniu tych przykładów czytelnicy będą mieli dobry pomysł na użycie bash do pętli w jednej linii.
Szczęśliwy komputer!