Como usar instruções Break e Continue em scripts Shell
Neste artigo, veremos como usar break e continue em scripts bash. No bash, temos três construções de loop principais (for, while, until). As instruções Break e continue são integradas ao bash e usadas para alterar o fluxo de seus loops. Este conceito de interrupção e continuação está disponível em linguagens de programação populares como Python.
type -a break continue
Saia do loop com uma instrução Break
A instrução break sairá do loop e o controle será passado para a próxima instrução do loop. Você pode executar o comando help para obter algumas informações sobre a instrução break.
help break
A sintaxe básica do break.
break [n]
n is optional
Dê uma olhada no exemplo abaixo. Este é um loop for simples que itera em um intervalo de valores de 1 a 20 em uma etapa incremental de 2. A instrução condicional avaliará a expressão e quando for true($val=9) então ele executará a instrução break e o loop será encerrado, ignorando as iterações restantes.
#!/usr/bin/bash
for val in {1..20..2}
do
If [[ $val -eq 9 ]]
then
break
else
echo "printing ${val}"
fi
done
Ignore uma iteração com a instrução continue
E se você não quiser sair completamente do loop, mas pular o bloco de código quando uma determinada condição for atendida? Isso pode ser feito com uma instrução continue. A instrução continue irá pular a execução do bloco de código quando uma determinada condição for atendida e o controle for passado de volta para a instrução de loop para a próxima iteração.
Para acessar a ajuda.
help continue
Dê uma olhada no exemplo abaixo. Este é o mesmo exemplo que usamos para demonstrar a instrução break. Agora, quando Val é avaliado como nove, a instrução continue irá pular todos os blocos de código restantes e passar o controle para o loop for para a próxima iteração.
#!/usr/bin/bash
for val in {1..20..2}
do
If [[ $val -eq 9 ]]
then
continue
fi
echo "printing ${val}"
done
Se você conhecesse python, então o comportamento de break e continue também seria o mesmo em python. Mas o python fornece mais uma instrução de controle de loop chamada pass.
Pass é como uma instrução null e o interpretador irá lê-la, mas não executará nenhuma operação. Simplesmente resulta em nenhuma operação. O Bash não fornece uma declaração semelhante, mas podemos emular esse comportamento usando a palavra-chave true ou dois pontos(:). Tanto true quanto dois pontos são integrados ao shell e não executam nenhuma operação.
type -a : true
Dê uma olhada no exemplo abaixo. Quando uma instrução condicional é avaliada como true($val=9) então a instrução true não fará nada e o loop continuará.
#!/usr/bin/bash
for val in {1..20..2}
do
If [[ $val -eq 9 ]]
then
true
fi
echo "printing ${val}"
done
É isso neste artigo. Adoraríamos ouvir seus valiosos comentários e quaisquer dicas que você tenha.