Android

Bash aż do pętli

Shell Scripting - For Loops

Shell Scripting - For Loops

Spisu treści:

Anonim

Pętle są jedną z podstawowych koncepcji języków programowania. Pętle są przydatne, gdy chcesz uruchamiać serię poleceń w kółko, dopóki nie zostanie spełniony określony warunek.

W językach skryptowych, takich jak Bash, pętle są przydatne do automatyzacji powtarzalnych zadań. Istnieją 3 podstawowe konstrukcje pętli w skryptach Bash, dla pętli, pętli while i pętli till.

Ten samouczek wyjaśnia podstawy pętli till w Bash.

Bash aż do Loop

Pętla till służy do wykonywania danego zestawu poleceń, o ile dany warunek ma wartość false.

Pętla Bash till przyjmuje następującą postać:

until do done

Warunek jest oceniany przed wykonaniem poleceń. Jeśli warunek ma wartość false, polecenia są wykonywane. W przeciwnym razie, jeśli warunek zostanie uznany za prawdziwy, pętla zostanie zakończona, a sterowanie programem zostanie przekazane następnemu poleceniu.

W poniższym przykładzie na każdej iteracji pętla wypisuje bieżącą wartość counter zmiennej i zwiększa zmienną o jeden.

#!/bin/bash counter=0 until do echo Counter: $counter ((counter++)) done

Pętla iteruje tak długo, jak długo zmienna counter ma wartość większą niż cztery. Skrypt wygeneruje następujące dane wyjściowe:

Counter: 0 Counter: 1 Counter: 2 Counter: 3 Counter: 4 Counter: 5

Bash aż do przykładu z pętlą

Poniższy skrypt może być przydatny, jeśli host git ma przestoje i zamiast ręcznego wpisywania git pull kilka razy, aż host będzie w trybie online, możesz uruchomić skrypt raz. Będzie próbował wyciągnąć repozytorium, dopóki nie zostanie pomyślnie wyciągnięty.

#!/bin/bash until git pull &> /dev/null do echo "Waiting for the git host…" sleep 1 done echo -e "\nThe git repository is pulled."

Skrypt wyświetli komunikat „Oczekiwanie na hosta git…” i zasypia przez sekundę, aż host git przejdzie w tryb online. Po wyciągnięciu repozytorium wyświetli komunikat „Wyciągnięto repozytorium git”.

Waiting for the git host… Waiting for the git host… Waiting for the git host… The git repository is pulled.

Wniosek

Pętle while i till są do siebie podobne, przy czym główna różnica polega na tym, że pętla while iteruje tak długo, jak warunek ma wartość true a pętla until iteruje tak długo, jak warunek ma wartość false .

terminal pętli bash