Bash para exemplos de loop

Bash para exemplos de loop
Loops são usados ​​em qualquer linguagem de programação para executar o mesmo código repetidamente. Três tipos de loops são usados ​​principalmente na programação para fazer tarefas repetitivas. Estes são Pois, enquanto, e do-while/repetição-até laço. Você pode se candidatar a um script de loop no Bash de várias maneiras. Alguns exemplos úteis de batida para loop foram mencionados neste artigo.

Sintaxe do loop:

# loop através de uma lista
Para valor na lista
fazer
comandos
feito
# Valores especificados do loop
para valor no arquivo1 file2 file3
fazer
comandos
feito
# loop através de cordas resultantes de um comando
Para valor em $ (comando linux)
fazer
comandos
feito
# loop através de números de incremento ou decréscimo
# Procedimental tradicional para loop
para ((i = 0; i<10; i++)
fazer
comandos
feito

De acordo com a sintaxe acima, o bloco de partida e final de para Loop é definido por fazer e feito Palavras -chave no script Bash. Os usos de diferentes loops mostraram na próxima parte deste tutorial.

Exemplo 1: Lendo valores estáticos

Crie um arquivo bash chamado loop1.sh com o script a seguir para ler os valores de uma lista usando o loop. Neste exemplo, 5 valores estáticos são declarados nas listas. Esse loop itera 5 vezes e, a cada vez, recebe um valor das listas e o armazenará na variável denominada cor que imprimirá dentro do loop.

#!/BIN/BASH
# Defina loop para ler valores de string
para cor em azul verde rosa branco vermelho
fazer
# Imprima o valor da string
eco "cor = $ cor"
feito

A saída a seguir aparecerá após a execução do script acima.

Exemplo 2: Leitura de variável de matriz

Você pode usar o loop para iterar os valores de uma matriz. Crie um novo arquivo Bash nomeado loop2.sh com o seguinte script. Neste exemplo, o loop recupera os valores de uma variável de matriz nomeada Lista de cores, e ele imprimirá a saída apenas se o Rosa O valor é encontrado nos elementos da matriz.

#!/BIN/BASH
# Declare e matriz
Colorlist = ("azul verde rosa branco vermelho")
# Defina o loop para iterar os valores da matriz
Para cor em $ colorlist
fazer
# Verifique se o valor é rosa ou não
Se [$ color == 'rosa']
então
eco "minha cor favorita é $ cor"
fi
feito

A saída a seguir aparecerá após a execução do script acima.

Exemplo 3: Leitura de argumentos da linha de comando

Os valores dos argumentos da linha de comando podem ser iterados usando o loop em Bash. Crie um novo arquivo Bash nomeado loop3.sh com o script a seguir para ler e imprimir os valores de argumento da linha de comando usando o loop.

#!/BIN/BASH
# Defina o loop para ler valores de argumento
para myval em $*
fazer
# Imprima cada argumento
eco "argumento: $ myval"
feito

A saída a seguir aparecerá após a execução do script acima. Dois argumentos foram dados como argumentos da linha de comando aqui. Estes são 'Linux' e 'Dica'.

Exemplo-4: Encontrando o número ímpar e uniforme usando três expressões

A sintaxe do estilo C de for Loop é três sintaxe de expressão. A primeira expressão indica a inicialização, a segunda expressão indica condição de terminação e a terceira expressão indica incremento ou decréscimo. Crie um arquivo bash chamado loop4.sh com o script a seguir para descobrir os números ímpares e pares de 1 a 5.

#!/BIN/BASH
# Defina para o loop em formato de estilo C
para ((n = 1; n<=5; n++ ))
fazer
# Verifique se o número é par
if (($ n%2 == 0))
então
eco "$ n é mesmo"
outro
eco "$ n é estranho"
fi
feito

A saída a seguir aparecerá após a execução do script acima.

Exemplo 5: Leitura de conteúdo do arquivo

Você pode usar o loop para ler o conteúdo de qualquer arquivo usando o 'gatoComando. Suponha que você tenha um arquivo chamado 'Dia da semana.TXT'que contém o nome de todos os dias da semana. Agora, crie um arquivo bash chamado loop5.sh Para ler e imprimir o conteúdo do arquivo.

#!/BIN/BASH
# Inicialize o contador
i = 1
# Defina para o loop para ler o arquivo de texto
Para var em 'Cat Danway.TXT'
fazer
# Imprima o conteúdo do arquivo
eco "dia da semana $ i: $ var"
((i ++))
feito

A saída a seguir aparecerá após a execução do script acima.

Exemplo 6: Crie Infinite para Loop

Crie uma festa chamada loop6.Bash com o script a seguir para saber o caminho para declarar infinito para o loop. Aqui, o loop iterará para tempos infinitos e imprimirá o valor do contador até que o usuário pressione Ctrl+C.

#!/BIN/BASH
# Inicialize o contador variável
contador = 1
# Exibir mensagem para rescisão
eco "Pressione Ctrl+C para rescindir do loop"
# Definir loop infinito
para (( ;; ))
fazer
# Imprima o número de iteração
eco "iterando para $ tempo (s)."
# Espere por 1 segundo
sono 1
# Incremento o contador
((contador ++))
feito

A saída a seguir aparecerá após a execução do script acima.

Exemplo 7: Uso de loop com substituto de comando

Crie um arquivo bash chamado loop7.Bash com o script a seguir para saber o uso do loop para ler e imprimir a saída do comando.

#!/BIN/BASH
eco "Todos os arquivos bash começando com 'a' são:"
# Leia a saída do substituto de comando usando o loop
Para Val em $ (LS A*.bash)
fazer
# Imprima o nome do arquivo
eco "$ val"
feito

A saída a seguir aparecerá após a execução do script acima.

Exemplo 8: saída condicional com interrupção

Crie um arquivo bash chamado loop8.Bash com o script a seguir para saber o caminho para sair do loop com base em qualquer condição específica.

#!/BIN/BASH
# Defina um loop para iterar 10 vezes
para ((i = 1; i<=10; i++ ))
fazer
# Defina as condições para rescindir o loop
if (($ i%3 == 0 && $ i%6 == 0))
então
# Termine do loop
eco "encerrado."
quebrar
outro
# Imprima o valor atual de i
eco "O valor atual de i é: $ i"
fi
feito

A saída a seguir aparecerá após a execução do script acima.

Exemplo 9: continuação antecipada com a declaração de continuação

Crie um arquivo bash chamado loop8.Bash com o script a seguir para saber como omitir uma ou mais declarações do (s) loop, usando uma declaração contínua com base na condição particular.

#!/BIN/BASH
# Declare uma matriz associativa
declarar -um candidato
# Intialize os valores da matriz
Candidatos = ([1022] = "presente" [1034] = "presente" [1045] = "ausente" [1067] = "presente")
eco "Lista do ID do candidato que está presente:"
para k em $ !Candidatos [@]
fazer
# Filtre o id do candidato que está ausente
se [$ candidatos [$ k] == "ausente"]; então
continuar
outro
# Imprima o ID do requerente que está presente
eco $ k
fi
feito

A saída a seguir aparecerá após a execução do script acima.

Conclusão:

Diferentes usos do loop foram explicados neste tutorial usando vários exemplos para ajudar os usuários do Bash a conhecer os propósitos de usar o loop corretamente e aplicá -lo em seu script.