W tym temacie pokazaliśmy, jak używać instrukcji pętli while w skrypcie Bash.
The bash, pętla while można zdefiniować jako instrukcję przepływu sterowania, która umożliwia wielokrotne wykonywanie danego zestawu poleceń, o ile zastosowany warunek ma wartość true. Na przykład możemy albo uruchomić polecenie echo wiele razy, albo po prostu przeczytać plik tekstowy wiersz po wierszu i przetworzyć wynik za pomocą pętli while w Bash.
Składnia pętli Bash While
Pętla Bash while ma następujący format:
regexp_like w mysql
while [ expression ]; do commands; multiple commands; done
Powyższa składnia ma zastosowanie tylko wtedy, gdy wyrażenie zawiera pojedynczy warunek.
Jeśli w wyrażeniu należy uwzględnić wiele warunków, składnia pętli while będzie następująca:
while [ expressions ]; do commands; multiple commands; done
Jednowierszową składnię pętli while można zdefiniować jako:
while [ condition ]; do commands; done while control-command; do Commands; done
Istnieje kilka kluczowych punktów instrukcji „while”:
- Warunek jest sprawdzany przed wykonaniem poleceń.
- Pętla „while” może również wykonać całą pracę, jaką może wykonać pętla for.
- Polecenia pomiędzy „do” i „done” są wykonywane wielokrotnie, dopóki warunek ma wartość true.
- Argumenty pętli „while” mogą być wyrażeniem boolowskim.
Jak to działa
Pętla while jest pętlą z ograniczonym wejściem. Oznacza to, że warunek jest sprawdzany przed wykonaniem poleceń pętli while. Jeśli warunek ma wartość true, wykonywany jest zestaw poleceń następujących po tym warunku. W przeciwnym razie pętla zostaje zakończona, a sterowanie programem zostaje przekazane innemu poleceniu następującemu po instrukcji „done”.
Przykłady pętli Bash While
Poniżej znajduje się kilka przykładów pętli bash while:
Pętla while z pojedynczym warunkiem
W tym przykładzie pętla while jest używana z pojedynczym warunkiem w wyrażeniu. Jest to podstawowy przykład pętli while, która wypisze serię liczb według danych wprowadzonych przez użytkownika:
Przykład
#!/bin/bash #Script to get specified numbers read -p 'Enter starting number: ' snum read -p 'Enter ending number: ' enum while [[ $snum -le $enum ]]; do echo $snum ((snum++)) done echo 'This is the sequence that you wanted.'
Wyjście
Pętla while z wieloma warunkami
Poniżej znajduje się przykład pętli while z wieloma warunkami w wyrażeniu:
Przykład
#!/bin/bash #Script to get specified numbers read -p 'Enter starting number: ' snum read -p 'Enter ending number: ' enum while [[ $snum -lt $enum || $snum == $enum ]]; do echo $snum ((snum++)) done echo 'This is the sequence that you wanted.'
Wyjście
konwencje nazewnictwa Java
Nieskończona pętla while
Nieskończona pętla to pętla, która nie ma zakończenia ani zakończenia. Jeśli warunek zawsze ma wartość true, tworzy nieskończoną pętlę. Pętla będzie wykonywana w sposób ciągły, dopóki nie zostanie na siłę zatrzymana za pomocą CTRL+C:
Przykład
#!/bin/bash #An infinite while loop while : do echo 'Welcome to Javatpoint.' done
Powyższy skrypt możemy również napisać w jednym wierszu jako:
#!/bin/bash #An infinite while loop while :; do echo 'Welcome to Javatpoint.'; done
Wyjście
Tutaj użyliśmy wbudowanego polecenia (:) które zawsze zwraca wartość true. Możemy również użyć wbudowanego polecenia true, aby utworzyć nieskończoną pętlę, tak jak poniżej:
Przykład
#!/bin/bash #An infinite while loop while true do echo 'Welcome to Javatpoint' done
Ten skrypt bash zapewni również takie same dane wyjściowe, jak powyższy nieskończony skrypt.
Uwaga: Nieskończone pętle można zakończyć za pomocą CTRL+C lub dodając wyjście warunkowe w skrypcie.
Pętla while z instrukcją Break
Instrukcja break może zostać użyta do zatrzymania pętli zgodnie z zastosowanym warunkiem. Na przykład:
Przykład
#!/bin/bash #While Loop Example with a Break Statement echo 'Countdown for Website Launching...' i=10 while [ $i -ge 1 ] do if [ $i == 2 ] then echo 'Mission Aborted, Some Technical Error Found.' break fi echo '$i' (( i-- )) done
Wyjście
Zgodnie ze skryptem pętla ma za zadanie wykonać dziesięciokrotną iterację. Ale po ośmiu iteracjach pojawia się warunek, który przerywa iterację i kończy pętlę. Po wykonaniu skryptu zostaną wyświetlone następujące dane wyjściowe.
Pętla while z instrukcjąkontynuacji
Za pomocą instrukcjicontinue można pominąć iterację dla określonego warunku wewnątrz pętli while.
darmowy ipconfig
Przykład
#!/bin/bash #While Loop Example with a Continue Statement i=0 while [ $i -le 10 ] do ((i++)) if [[ '$i' == 5 ]]; then continue fi echo 'Current Number : $i' done echo 'Skipped number 5 using Continue Statement.'
Wyjście
Podczas gdy Loop w stylu C
Możemy również napisać pętlę while w skrypcie bash, podobnie jak pętlę while w języku programowania C.
Przykład
#!/bin/bash #While loop example in C style i=1 while((i <= 10)) do echo $i let i++ done < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/46/bash-while-loop-6.webp" alt="Bash While Loop"> <h2>Conclusion</h2> <p>In this topic, we discussed how to use while loop statement in Bash to perform specific tasks.</p> <hr></=>