Bata enquanto loop com exemplos

Bata enquanto loop com exemplos

A enquanto O loop é uma estrutura de controle fundamental na script de bash que permite executar um bloco de código repetidamente, desde que uma certa condição seja verdadeira. O loop while é uma ferramenta essencial na caixa de ferramentas de qualquer programador de qualquer bash e é usado para automatizar tarefas, executar operações sobre coleções de dados e implementar algoritmos complexos.

Em scripts bash, enquanto os loops podem ser usados ​​para executar uma ampla variedade de tarefas, como leitura e processamento de arquivos, geração de relatórios, bancos de dados de consultas e interagir com usuários. Enquanto os loops também são frequentemente usados ​​em combinação com outras estruturas de controle de bash, como declarações condicionais (se, elif, elif) e outros loops (para, até), para implementar algoritmos e scripts complexos.

Neste tutorial, exploraremos a sintaxe básica do While Loops in Bash e examinaremos como eles podem ser usados ​​para automatizar tarefas e implementar algoritmos complexos. Também abordaremos alguns casos de uso comuns e práticas recomendadas para trabalhar com loops e fornecer exemplos de como usar enquanto os loops resolverem problemas no mundo real.

Sintaxe

Um pouco o loop é um tipo de loop no Bash que permite executar repetidamente um conjunto de comandos, desde que uma certa condição seja verdadeira. A sintaxe por um tempo o loop é a seguinte:

Enquanto condição faça # comandos para executar feitos
1234Enquanto condiciona # comandos para executoune

Neste tutorial, abordaremos o básico do uso do While Loops in Bash.

Exemplo básico

Vamos começar com um exemplo simples. Suponha que você queira contar de 1 a 5 e imprimir cada número. Você pode usar um pouco de loop para fazer isso, assim:

contagem = 1 enquanto [$ contagem -le 5] faça eco $ contagem contagem = $ ((contagem+1)) feito
123456contagem = 1while [$ contagem -le 5] do eco $ contagem contagem = $ ((contagem+1)) feito

Neste exemplo, inicializamos uma variável chamada contagem para 1 e depois usamos um loop de tempo para imprimir repetidamente o valor da contagem, desde que seja menor ou igual a 5. Dentro do loop, imprimimos o valor da contagem usando o comando echo e, em seguida, incrementamos o valor da contagem por 1 usando a sintaxe ((contagem+1)).

Usando uma condição

A condição em um tempo de loop pode ser qualquer expressão de bash válida. Por exemplo, você pode usar uma condição que testa o valor de uma variável, assim:

resposta = "não" enquanto ["$ resposta" != "Sim"] Read -p "Você quer continuar? (sim/não) "Resposta feita
12345resposta = "não" enquanto ["$ resposta" != "Sim"] Read -p "Você quer continuar? (sim/não) "AnswerDone

Neste exemplo, inicializamos uma variável chamada resposta para "não" e depois usamos um loop de tempo para solicitar repetidamente o usuário a entrar "sim" ou "não" até que o usuário insira "sim". Dentro do loop, usamos o comando de leitura para ler uma linha de entrada do usuário e, em seguida, testamos se o valor da resposta é "sim" usando o ["$ resposta" != "Sim"] sintaxe.

Usando a declaração de quebra

Você pode usar a declaração de quebra para sair um pouco de loop prematuramente. Por exemplo:

contagem = 1 enquanto [$ count -le 10] faça se [$ contagem -eq 5] então quebre fi echo $ contagem = $ ((contagem+1)) feito
12345678910count = 1while [$ contagem -le 10] faça se [$ contagem -eq 5] então quebre fi echo $ contagem = $ ((contagem+1)) feito

Neste exemplo, usamos um loop de tempo para contar de 1 a 10 e imprimir cada número. No entanto, também incluímos uma declaração IF dentro do loop que testa se o valor da contagem é igual a 5. Se for, usamos a declaração de quebra para sair do loop. Como resultado, esse loop imprimirá apenas os números 1 a 4.

Usando a declaração Continuar

Você pode usar a declaração Continuar para pular para a próxima iteração de um loop de um tempo. Por exemplo:

contagem = 1 enquanto [$ count -le 5] faça se [$ contagem -eq 3] então count = $ ((contagem+1)) continue fi echo $ contagem count = $ ((contagem+1)) feito
1234567891011contagem = 1while [$ count -le 5] faça se [$ count -eq 3] então count = $ ((contagem+1)) continue fi echo $ contagem contagem = $ ((contagem+1)) feito

Neste exemplo, usamos um loop de tempo para contar de 1 a 5 e imprimir cada número. No entanto, também incluímos uma declaração IF dentro do loop que testa se o valor da contagem é igual a 3. Se for, usamos a declaração de continuação para pular para a próxima iteração do loop. Como resultado, esse loop imprimirá os números 1, 2, 4 e 5, mas pule o número 3.

Lendo a linha de arquivo por linha

Um caso de uso comum para enquanto os loops em Bash são arquivos de leitura e processamento. Você pode usar um pouco de loop para ler cada linha de um arquivo e executar alguma operação nele. Aqui está um exemplo:

#!/bin/bash filename = "Exemplo.txt "enquanto a linha de leitura do eco" Linha de processamento: $ line " # Adicione seu código para processar a linha aqui feita < $filename
123456789#!/bin/bash filename = "Exemplo.txt "enquanto lida linedo echo" Linha de processamento: $ line " # Adicione seu código para processar a linha heredona < $filename

Neste exemplo, definimos um nome de arquivo variável que contém o nome do arquivo que queremos ler. Em seguida, abrimos um pouco o loop usando o comando de leitura. Ele lerá uma linha do arquivo e a processará com determinadas instruções.

Aninhado enquanto loops

Você também pode nidificar enquanto loops dentro um do outro para criar loops mais complexos. Por exemplo:

x = 1 Enquanto [$ x -Le 3] do y = 1 enquanto [$ y -le 3] do eco "($ x, $ y)" y = $ ((y+1)) feito x = $ ((( x+1)) feito
1234567891011x = 1while [$ x -le 3] do y = 1 while [$ y -le 3] do eco "($ x, $ y)" y = $ ((y+1) feito x = $ ((x +1)) feito

Neste exemplo, usamos um loop de tempo para contar de 1 a 3 e imprimir cada número, e depois aninhou outro enquanto o loop nele para contar de 1 a 3 e imprimir cada número novamente. Como resultado, esse loop imprimirá a seguinte saída:

Saída (1, 1) (1, 2) (1, 3) (2, 1) (2, 2) (2, 3) (3, 1) (3, 2) (3, 3) 

Conclusão

Enquanto os loops são uma ferramenta poderosa em bash que permite repetir comandos, desde que uma certa condição seja verdadeira. Ao dominar o básico do While Loops, você pode criar scripts mais complexos e automatizar tarefas comuns.