Como usar o loop Until em seus scripts Shell
No bash, for, while e until são três construções de loop. Embora cada loop seja diferente sintaticamente e funcionalmente, seu objetivo é iterar sobre um bloco de código quando uma determinada expressão é avaliada.
O loop Until é usado para executar um bloco de código até que a expressão seja avaliada como falsa. Isso é exatamente o oposto de um loop while. O loop While executa o bloco de código enquanto a expressão é verdadeira e o loop until faz o oposto.
until [ expression ]
do
code block
...
...
done
Vamos analisar a sintaxe.
- Para iniciar o loop, você deve usar a palavra-chave até seguida por uma expressão entre colchetes simples ou duplos.
- A expressão deve ser avaliada como falsa até iniciar a execução do bloco de código.
- O bloco real de código é colocado entre do e done.
Neste breve artigo, você aprenderá como usar o loop Until em seus scripts de shell usando os exemplos a seguir.
Crie um loop infinito em scripts
Você pode criar um loop infinito usando uma instrução false como expressão. Ao tentar simular loops infinitos tente usar sleep que passará o script periodicamente.
count=0
until false
do
echo "Counter = $count"
((count++))
sleep 2
done
Crie instruções de linha única
Você pode criar instruções de loop de linha única. Dê uma olhada no código abaixo. É igual ao nosso primeiro exemplo de loop infinito, mas em uma única linha. Aqui você deve usar um ponto e vírgula (;)
para finalizar cada instrução.
until false; do echo "Counter = $count"; ((count++)); sleep 2; done
Alterar fluxo com instrução break e continue
Você pode usar instruções break e continue dentro do loop while. A instrução break sairá do loop e passará o controle para a próxima instrução, enquanto a instrução continue irá pular a iteração atual e iniciar a próxima iteração no loop.
Estou usando o mesmo exemplo de loop infinito. Aqui, quando a contagem for igual a cinco, a instrução continue saltará para a próxima iteração, ignorando o resto do corpo do loop. Da mesma forma, o loop é quebra quando a contagem é igual ou maior que 10.
count=0
until false
do
((count++))
if [[ $count -eq 5 ]]
then
continue
elif [[ $count -ge 10 ]]
then
break
fi
echo "Counter = $count"
done
É isso neste artigo. Iremos encontrá-lo com outro artigo interessante em breve ‘até‘ continue lendo e continue nos apoiando.