Como usar as declarações de quebra e continuação em scripts de shell

- 3970
- 1236
- Loren Botsford
Neste artigo, vamos dar uma olhada em como usar um quebrar e continuar em scripts bash. Em Bash, temos três construções de loop principal (para, enquanto, até). Quebrar e continuar As declarações são embutidas e usadas para alterar o fluxo de seus loops. Este conceito de quebra e continuação está disponível em linguagens de programação populares como Pitão.
$ type -uma quebra continua

Saia do loop com uma declaração de quebra
O quebrar A declaração sairá do loop e o controle é passado para a próxima declaração no loop. Você pode executar o ajuda comando para obter algumas informações sobre o quebrar declaração.
$ Ajuda a quebrar

A sintaxe básica do intervalo.
$ break [n] n é opcional
Dê uma olhada no exemplo abaixo. Isso é simples para o loop que itera em um intervalo de valores de 1 a 20 em uma etapa incremental de 2. A declaração condicional avaliará a expressão e quando for Verdadeiro ($ val = 9) Em seguida, ele executará a declaração de quebra e o loop será encerrado pulando as iterações restantes.
#!/usr/bin/bash para val em 1… 20… 2 faça se [[$ val -eq 9]] então quebre mais eco "impressão $ val" fi feito

Pule uma iteração com a declaração continua
E se você não quiser sair completamente do loop, mas pule o bloco de código quando uma determinada condição é atendida? Isso pode ser feito com um continuar declaração. O continuar A declaração ignorará a execução do bloco de código quando uma determinada condição é atendida e o controle é transmitido de volta à declaração de loop para a próxima iteração.
Para acessar a ajuda.
$ ajuda continuar

Dê uma olhada no exemplo abaixo. Este é o mesmo exemplo que usamos para demonstrar a declaração de quebra. Agora quando Val é avaliado para nove então o continuar A declaração pulará todos os blocos restantes de código e passará o controle para o loop para a próxima iteração.
#!/usr/bin/bash para val em 1… 20… 2 faça se [[$ val -eq 9]] então continue fi echo "impressão $ val" feito

Se você soubesse Pitão então quebrar e continuar o comportamento é o mesmo em python também. Mas o Python fornece mais uma declaração de controle de loop chamada A passar.
Passar é como um nulo Declaração e o intérprete vão lê -lo, mas não executarão nenhuma operação. Simplesmente resulta em nenhuma operação. Bash não fornece uma declaração semelhante, mas podemos imitar esse comportamento usando a verdadeira palavra -chave ou cólon(:). True e Colon estão construídos e não realizam nenhuma operação.
$ tipo -a: true

Dê uma olhada no exemplo abaixo. Quando um condicional A declaração é avaliada como Verdadeiro ($ val = 9) então o verdadeiro a declaração não fará nada e o loop continuará.
#!/usr/bin/bash para val em 1… 20… 2 faça se [[$ val -eq 9]] então True fi echo "impressão $ val" feito

É isso para este artigo. Gostaríamos muito de ouvir seu feedback valioso e todas as dicas que você tem.
- « LFCA Aprenda a gerenciar hora e data no Linux - Parte 6
- Como usar até o loop em seus scripts de shell »