Loop de programação shell instrução para loop, loop while e loop until


Um, para declaração de loop

  • Em nosso ambiente de trabalho real, muitas vezes são realizadas tarefas repetitivas e, a cada vez, os objetos que precisam ser processados ​​são diferentes.
  • Por exemplo, caixa de supermercado
  • Como podemos enfrentar essas tarefas simples com mais eficiência? Esta é a instrução de loop for que aprenderemos a seguir

1. Estrutura

  • Especifique uma variável e uma lista de valores, leia diferentes valores de variáveis, usados ​​para executar o mesmo grupo de comandos um por um, até que o valor da variável se esgote e saia do loop atual
  • A lista de valores aqui é a condição de execução da instrução for, que inclui vários objetos com os mesmos atributos, que precisam ser especificados com antecedência
#语法结构:
for 变量名 in 取值列表
do
        命令序列
done
  • Preste atenção aos espaços na estrutura da instrução acima!
  • A sequência de comandos entre do ··· feito é chamada de "corpo do loop"
    marca
  • Conforme mostrado na figura acima, o processo de execução é:
    • Primeiro atribua o primeiro valor na lista de valores à variável e, em seguida, execute a sequência de comandos no corpo do loop
    • Em seguida, atribua o segundo valor à variável e execute o comando de loop e assim por diante até que o valor se esgote
    • Finalmente pule para a instrução feita, o que significa o fim do loop

2. Exemplos de aplicação

2.1 Use para adicionar usuários em lotes

  • Crie um novo arquivo e armazene o nome de usuário
    marca
    marca
    marca
    marca
  • Vamos excluir usuários em lotes novamente para aprofundar a impressão
    marca
    marca

2.2 Verifique o status do host com base na lista de endereços IP

  • Detectar conectividade de rede na lista de valores do segmento de rede 192.168.126
    marca
    marca
  • No script acima, a instrução if é usada no loop do ··· done
  • Na verdade, if, for e vários outros scripts de shell podem ser aninhados

2.3 Clássico! Calcule a soma dos números 1 ~ 100 com instruções de loop

marca
marca

  • Outra maneira
  • O uso aqui tem o mesmo significado que acima
    marca
    marca

2.4 Solicita ao usuário que insira um número inteiro menor que 100 e calcule a soma de todos os números inteiros de 1 a este número

  • Simples ~
    marca
  • Preste atenção ao uso de "+ ="
    marca
    marca

2.5 Encontre as somas pares e ímpares de todos os inteiros de 1 a 100 (até o número inserido pelo usuário)

marca
marca


Dois, instrução de loop while

  • A instrução for é adequada para ocasiões em que o objeto da lista é irregular e a fonte da lista é fixa
  • O que devemos fazer se precisarmos controlar o número de ciclos, o número de objetos operacionais em ordem numérica e as operações repetidas de acordo com condições específicas, etc.
  • Como é, parece uma loteria, comprar um bilhete de loteria
  • Se houver uma demanda, haverá uma solução de resposta. Esta é a instrução do loop while que aprenderemos a seguir

1. Estrutura

  • Teste uma determinada condição repetidamente e execute repetidamente enquanto a condição for satisfeita, até que a condição não seja mais satisfeita
  • De acordo com a situação acima, você deve evitar o loop infinito, caso contrário as seguintes instruções não serão executadas
  • Portanto, a sequência de comando no corpo do loop deve incluir uma instrução para modificar a condição de teste, de modo que a condição de teste não seja mais estabelecida em um momento apropriado, encerrando assim o loop
#语句结构
while 条件测试操作
do
        #命令序列
done

##示例
while 未猜中正确价格
do
        #反复猜测商品价格
done

marca

  • Primeiro julgue a operação de teste condicional, se a condição for satisfeita, execute a sequência de comando no corpo do loop do ··· done; volte para while e então julgue ··· Este loop alternativo até que a operação de teste condicional após o while não seja estabelecida e, finalmente, pule para o executado Loop final

2. Exemplos de aplicação

2.1 Adicionar usuários com números regulares em lotes

marca
[Falha na transferência da imagem do link externo. O site de origem pode ter um mecanismo de link anti-leech. Recomenda-se salvar a imagem e carregá-la diretamente (img-xy2RNtJL-1608469869870) (14CD4AEA4ECA4147B4AEF577405215DD)]

  • Vamos excluí-lo em lotes
    marca
    marca

2.2 Jogo de adivinhar o preço

  • Solicita ao usuário que adivinhe e registre o número de adivinhações, depois que a estimativa estiver correta, o loop pode sair
  • Um número inteiro aleatório pode ser obtido através da variável de ambiente RANDOM, e o restante dele e 1000 podem ser calculados para obter um preço aleatório variando de 0 a 999
    [Falha na transferência da imagem do link externo, o site de origem pode ter mecanismo anti-leeching, é recomendado salvar a imagem e carregá-la diretamente (img -1qJ2eez8-1608469869871) (B2C666B3AF6941B692B066129383DB65)]
  • sair 0 Retornar para "0" e sair do loop atual após a conclusão do teste
    [Falha na transferência da imagem do link externo, o site de origem pode ter um mecanismo de link anti-leech, é recomendado salvar a imagem e carregá-la diretamente (img-ZI4vDGaK-1608469869871) (24B8EE95626F47BBB9FDDE537B3EA8E4E4)]

2.3 Peça ao usuário para inserir um número inteiro menor que 100 e calcule a soma de todos os números inteiros de 1 a este número

marca
marca

  • A lógica do corpo do loop na imagem acima pode não ser muito clara para todos. O primeiro é: soma = 0 + 1 = 1, i = 1 e, em seguida, o próximo loop, soma = 1 + 2 = 3, i = 2; soma = 3 + 3 = 6 (1 + 2 + 3), i = 3, loop até que o usuário insira o número, o seguinte é i ++ a condição que pode ser combinada e finalmente fora do loop
  • Exercite o pensamento mais lógico e aplique com flexibilidade. Há muitas maneiras de conseguir isso. O autor também é um iniciante e todos farão progressos juntos.

2.4 Solicita ao usuário que insira um número inteiro menor que 100 e calcule as somas pares e ímpares de todos os inteiros de 1 a este número

marca
marca


Três, até declaração de loop

1. Estrutura

  • Teste repetidamente uma determinada condição, se a condição não for estabelecida, execute repetidamente
语句结构:
until 条件测试操作
do  
   命令序列
done
  • É a lógica oposta ao tempo, e é menos em uso real, porque todos são geralmente lógicos positivos

2. Exemplos de aplicação

  • Calcule a soma de todos os números inteiros de 1 a 100
    marca
    [Falha na transferência da imagem do link externo, o site de origem pode ter um mecanismo de link anti-sanguessuga, é recomendado salvar a imagem e carregá-la diretamente (img-ooQOE06H-1608469869874) (BADE30E5EA0A4426A92413267319E0F4)]
  • Como? É exatamente o mesmo? Ou seja, a primeira frase da estrutura da frase mudou.
  • Se a condição de i for maior que o número digitado pelo usuário não for estabelecida, ela será executada repetidamente, ou seja, se i for menor que o número digitado pelo usuário, será executada repetidamente.

Acho que você gosta

Origin blog.csdn.net/weixin_51486343/article/details/111462846
Recomendado
Clasificación