No script Bash, os loops são estruturas de controle que permitem que você execute um bloco de código repetidamente até que uma determinada condição seja atendida. Os loops são essenciais para automatizar tarefas repetitivas, processar coleções de dados e realizar operações iterativas. Entender os diferentes tipos de loops disponíveis no Bash é crucial para escrever scripts eficientes e eficazes.
O loop for
é um loop simples e comumente usado no Bash. Ele permite que você itere sobre uma lista de valores ou um intervalo de números. A sintaxe do loop for
é a seguinte:
for variavel in lista do comandos concluído
variavel
: A variável usada para iterar sobre a lista ou intervalo.lista
: A lista de valores ou intervalo de números para iterar.comandos
: Os comandos a serem executados para cada iteração do loop.Por exemplo, o seguinte loop for
itera sobre a lista de frutas e imprime cada fruta:
frutas=(maçã banana laranja) for fruta in "${frutas[@]}" do echo $fruta concluído
O loop while
executa um bloco de código repetidamente, desde que uma condição especificada seja verdadeira. A sintaxe do loop while
é a seguinte:
while condição do comandos concluído
condição
: A condição que determina se o loop continua a ser executado.comandos
: Os comandos a serem executados para cada iteração do loop.Por exemplo, o seguinte loop while
continua a imprimir números de 1 a 10:
i=1 while [ $i -le 10 ] do echo $i ((i++)) concluído
O loop until
é semelhante ao loop while
, mas ele executa um bloco de código repetidamente até que uma condição especificada se torne falsa. A sintaxe do loop until
é a seguinte:
until condição do comandos concluído
condição
: A condição que determina se o loop continua a ser executado.comandos
: Os comandos a serem executados para cada iteração do loop.Por exemplo, o seguinte loop until
continua a imprimir números de 1 a 10 até que o usuário insira um valor não numérico:
read -p "Insira um número: " número until [[ $número =~ ^[0-9]+$ ]] do echo "Entrada inválida. Insira um número." read -p "Insira um número: " número concluído echo "Você inseriu $número."
O loop do-while
é uma variante do loop while
que executa um bloco de código pelo menos uma vez antes de verificar a condição do loop. A sintaxe do loop do-while
é a seguinte:
do comandos concluído while condição
comandos
: Os comandos a serem executados para cada iteração do loop.condição
: A condição que determina se o loop continua a ser executado.Por exemplo, o seguinte loop do-while
continua a imprimir números de 1 a 10, mesmo que o usuário insira um valor não numérico:
read -p "Insira um número: " número do echo $número ((número++)) concluído while [[ $número -le 10 ]]
Loops aninhados são loops dentro de loops. Eles permitem que você execute iterações complexas e processe estruturas de dados com vários níveis. Loops aninhados podem ser criados combinando diferentes tipos de loops ou usando o mesmo tipo de loop várias vezes.
Por exemplo, os seguintes loops for
aninhados iteram sobre uma matriz bidimensional e imprimem cada elemento:
matriz=( [0,0]=1 [0,1]=2 [0,2]=3 [1,0]=4 [1,1]=5 [1,2]=6 [2,0]=7 [2,1]=8 [2,2]=9 ) for ((i=0; i<3; i++)) do for ((j=0; j<3; j++)) do echo ${matriz[$i,$j]} concluído concluído
As instruções de controle de loop permitem que você modifique o fluxo de um loop. As duas instruções de controle de loop mais comumente usadas no Bash são break
e continue
.
A instrução break
é usada para sair de um loop prematuramente. Quando uma instrução break
é encontrada, o loop é imediatamente encerrado e a execução continua com a instrução após o loop.
Por exemplo, o seguinte loop for
usa a instrução break
para sair do loop quando o valor de i
atinge 5:
for ((i=0; i<10; i++)) do if [ $i -eq 5 ] então break fim echo $i concluído
A instrução continue
é usada para pular a iteração atual de um loop e continuar com a próxima iteração. Quando uma instrução continue
é encontrada, as instruções restantes na iteração atual são puladas e o loop prossegue para a próxima iteração.
Por exemplo, o seguinte loop while
usa a instrução continue
para pular números pares:
i=0 while [ $i -lt 10 ] do ((i++)) if [ $((i % 2)) -eq 0 ] então continue fim echo $i concluído
Os loops são estruturas de controle essenciais no script Bash que permitem automatizar tarefas repetitivas, processar coleções de dados e realizar operações iterativas. Entender os diferentes tipos de loops disponíveis no Bash e como usá-los efetivamente é crucial para escrever scripts eficientes e eficazes. Além disso, as instruções de controle de loop fornecem a você a capacidade de modificar o fluxo dos loops, tornando-os ainda mais versáteis.
Para se tornar proficiente no uso de loops no Bash, é importante praticar e experimentar diferentes cenários. Quanto mais você trabalhar com loops, melhor você se tornará em entender seu comportamento e aplicá-los para resolver problemas do mundo real.
YesNo
Deixe uma resposta