logo

Uderz w pętlę while

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

Uderz w pętlę while

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
Uderz w pętlę while

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

Uderz w pętlę while

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.

Uderz w pętlę while

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

Uderz w pętlę while

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></=>