Como usar o Bash for Loop no Linux

Como usar o Bash for Loop no Linux

Em linguagens de programação, rotações são componentes essenciais e são usados ​​quando você deseja repetir o código repetidamente até que uma condição especificada seja atendida.

Em Bash script, rotações desempenhe o mesmo papel e é usado para automatizar tarefas repetitivas, como em linguagens de programação.

Em Bash Scripts, existem 3 tipos de rotações: para loop, enquanto loop, e até loop. Os três são usados ​​para iterar em uma lista de valores e executar um determinado conjunto de comandos.

Neste guia, vamos nos concentrar no Bash para loop em Linux.

BASH para sintaxe de loop

Como mencionado anteriormente, o para loop itera sobre uma série de valores e executa um conjunto de comandos.

Para loop toma a seguinte sintaxe:

Para variável_name no valor1 valor2 valor3… n do comando1 comando 2 comandon feito 

Vamos agora verificar alguns exemplos de usos da festa para o loop.

Bash simples para loop

Em sua forma mais simples, o Para loop leva o seguinte formato básico. Neste exemplo, a variável n iterado sobre um grupo de valores numéricos fechados em aparelhos encaracolados e imprime seus valores para stdout.

para n em 1 2 3 4 5 6 7; ECHO $ ​​N feito 
Exemplo de Bash for Loop

BASH PARA LOOP COM RANGES

Nos exemplos anteriores, listamos explicitamente os valores a serem iterados pelo para loop, que funciona muito bem. No entanto, você só pode imaginar o quão pesado e demorado uma tarefa seria se você fosse iterar, por exemplo, cem valores. Isso o obrigaria a digitar todos os valores de 1 a 100.

Para resolver este problema, especifique um intervalo. Para fazer isso, especifique o número para iniciar e parar separado por dois períodos.

Neste exemplo, 1 é o primeiro valor, enquanto 7 é o último valor no intervalo.

#!/bin/bash para n em 1… 7; ECHO $ ​​N feito 

Depois que o script do shell é executado, todos os valores no intervalo estão listados, semelhante ao que tivemos em Loops simples.

BASH PARA LOOP COM EXEMPE

Além disso, podemos incluir um valor no final do intervalo que causará o para loop para iterar através dos valores em etapas incrementais.

O script Bash a seguir imprime os valores entre 1 e 7 com 2 etapas incrementais entre os valores que começam pelo primeiro valor.

#!/bin/bash para n em 1… 7… 2; ECHO $ ​​N feito 
Bash para valores incrementados de loop

Do exemplo acima, você pode ver que o laço incrementou os valores dentro dos aparelhos encaracolados por 2 valores.

Bash para loops com matrizes

Você também pode iterar facilmente através de valores definidos em uma matriz usando um Para loop. No exemplo seguinte, o para loop itera através de todos os valores dentro do Array de frutas e imprime -os para stdout.

#!/bin/bash frutas = ("blueberry" "pêssego" "manga" "abacaxi" "mamão") para n em $ fruits [@]; ECHO $ ​​N feito 
Exemplo de matriz de loop

O @ O operador acessa ou tem como alvo todos os elementos. Isso torna possível iterar sobre todos os elementos um por um.

Além disso, você pode acessar um único elemento especificando sua posição dentro da matriz.

Por exemplo, para acessar o “manga”Elemento, substitua o @ Operador com a posição do elemento na matriz (o primeiro elemento começa em 0, então neste caso, “manga”Será denotado por 2).

É assim que parece o loop para.

#!/bin/bash frutas = ("blueberry" "pêssego" "manga" "abacaxi" "mamão") para n em $ frutas [2]; ECHO $ ​​N feito 
Bash para loops com elementos de matriz

Bash-estilo C para loops

Você pode usar variáveis ​​dentro de loops para iterar em uma variedade de elementos. É aqui que Estilo C para loops entre. O exemplo a seguir ilustra um Estilo C para loop que imprime uma lista de valores numéricos de 1 a 7.

#!/bin/bash n = 7 para ((n = 1; n; n<=$n ; n++ )); do echo $n done 
Exemplo de Bash C-estilo para loops

Bash-estilo C para loops com declarações condicionais

Você pode incluir declarações condicionais dentro Estilo C para loops. No exemplo a seguir, incluímos uma declaração if-else que verifica e imprime números pares e ímpares entre 1 e 7.

#!/BIN/BASH para ((n = 1; n<=7; n++ )) do # Check if the number is even or not if (( $n%2==0 )) then echo "$n is even" else echo "$n is odd" fi done 
Exemplo de declarações condicionais do estilo C para loops

Use a declaração 'Continuar' com Bash para Loop

O 'continuar'A declaração é um comando interno que controla como um script é executado. Além do script de bash, também é usado em linguagens de programação, como Python e Java.

O continue declaração interrompe a iteração atual dentro de um laço Quando uma condição específica é atendida e depois retoma a iteração.

Considere o para loop mostrado abaixo.

#!/bin/bash para n em 1… 10 faça se [[$ n -eq '6']] então echo "o destino $ n foi alcançado" continue 
Exemplo de declaração do Bash for Loop Continuar

É isso que o código faz:

  • Linha 2: Marca o início do loop for e iterar a variável n de 1 a 10.
  • Linha 4: Verifica o valor de n e se a variável for igual a 6, o script ecoa uma mensagem para estalar e reiniciar o loop na próxima iteração na linha 2.
  • Linha 9: Imprime os valores na tela apenas se a condição na linha 4 for falsa.

A seguir, é apresentada a saída esperada após a execução do script.

Bash for Loop Continue a saída da declaração

Use a declaração 'Break' com Bash para loop

O 'quebrar' a declaração, como o nome sugere, interrompe ou termina a iteração quando uma condição é atendida.

Considere o Para loop abaixo.

#!/bin/bash para n em 1… 10 Faça se [[$ n -eq '6']] então echo "Target $ n foi alcançado" quebrar fi echo $ n done Echo "All Done" 
Declaração de quebra de loop

É isso que o código faz:

  • Linha 2: Marca o início do loop for e iterar a variável n de 1 a 10.
  • Linha 4: Verifica o valor de n e se a variável for igual a 6, o script ecoa uma mensagem para stdout e interrompe a iteração.
  • Linha 9: Imprime os números na tela apenas se a condição na linha 4 for falsa.

A partir da saída, você pode ver que o loop para quando a variável atender à condição do loop.

Bash para saída de declaração de quebra de loop
Conclusão

Aquele foi um tutorial sobre Bash para loops. Esperamos que você tenha achado isso perspicaz. Sinta -se à vontade para pesar com seu feedback.