BASH Scripting Lesson 5 using WHILE loops
Índice:
- Bash while Loop
- Loop infinito enquanto
- Ler um arquivo linha por linha
- Quebrar e continuar instruções
- Declaração de quebra
- Declaração Continue
- Conclusão
Loops são um dos conceitos fundamentais das linguagens de programação. Os loops são úteis quando você deseja executar uma série de comandos várias vezes até que uma condição específica seja atendida.
Em linguagens de script como o Bash, os loops são úteis para automatizar tarefas repetitivas. Existem três construções básicas de loop no script Bash, para loop, enquanto loop e até.
Este tutorial explica os conceitos básicos de loops while no Bash, bem como as instruções break e continue para alterar o fluxo de um loop.
Bash while Loop
O loop while é usado para executar um determinado conjunto de comandos um número desconhecido de vezes, desde que a condição especificada seja verdadeira.
O loop Bash while assume o seguinte formato:
while do done
A condição é avaliada antes de executar os comandos. Se a condição for avaliada como verdadeira, os comandos serão executados. Caso contrário, se a condição for avaliada como falsa, o loop será encerrado e o controle do programa será passado para o comando a seguir.
No exemplo abaixo, em cada iteração, o loop imprime o valor atual da variável
i
incrementa a variável em um.
i=0 while do echo Number: $i ((i++)) done
O loop ter itera, desde que
i
seja menor ou igual a dois. Ele produzirá a seguinte saída:
Loop infinito enquanto
Um loop infinito é um loop que se repete indefinidamente e nunca termina. Se a condição sempre for avaliada como verdadeira, você obterá um loop infinito.
No exemplo a seguir, estamos usando o comando interno
:
que sempre retorna true para criar um loop infinito. Você também pode usar o
true
comando interno ou qualquer outra declaração que sempre retorne verdadeiro.
O loop while acima será executado indefinidamente. Você pode finalizar o loop pressionando
Aqui está um equivalente de linha única: Um dos usos mais comuns do loop while é ler um arquivo, fluxo de dados ou variável linha por linha. No exemplo a seguir, o loop while lerá o arquivo
Em vez de controlar o loop while com uma condição, estamos usando o redirecionamento de entrada (
Ao ler o arquivo linha por linha, sempre use
Por padrão, o comando
As instruções break e continue podem ser usadas para controlar a execução do loop while. A instrução break finaliza o loop atual e passa o controle do programa para o comando que segue o loop finalizado. Geralmente é usado para finalizar o loop quando uma determinada condição é atendida. No exemplo a seguir, a execução do loop será interrompida quando o item iterado atual for igual a
A instrução continue sai da iteração atual de um loop e passa o controle do programa para a próxima iteração do loop. A seguir, quando o item iterado atual for igual a
Até agora você deve ter um bom entendimento de como usar o loop bash while.
while: do echo "Press to exit." sleep 1 done
while: do echo "Press to exit." sleep 1 done
CTRL+C
while:; do echo 'Press to exit.'; sleep 1; done
while:; do echo 'Press to exit.'; sleep 1; done
Ler um arquivo linha por linha
/etc/passwd
linha por linha e imprimirá cada linha.
file=/etc/passwd while read -r line; do echo $line done < "$file"
< "$file"
) para passar um arquivo para a
read
que é o comando que controla o loop. O loop while será executado até a última linha ser lida.
read
com a opção
-r
para impedir que a barra invertida atue como um caractere de escape.
read
apara os caracteres de espaço em branco à esquerda / à direita (espaços e guias). Use a opção
IFS=
antes do comando
read
para evitar esse comportamento
file=/etc/passwd while IFS= read -r line; do echo $line done < "$file"
Quebrar e continuar instruções
Declaração de quebra
2
.
i=0 while do echo "Number: $i" ((i++)) if]; then break fi done echo 'All Done!'
Declaração Continue
2
a instrução continue fará com que a execução retorne ao início do loop e continue com a próxima iteração.
i=0 while do ((i++)) if]; then continue fi echo "Number: $i" done echo 'All Done!'
Number: 1 Number: 3 Number: 4 Number: 5 All Done!
Conclusão
HTC x um: resolver problema de loop de inicialização durante a instalação de roms personalizados
Aprenda a resolver problemas de loop de inicialização durante a instalação de ROMs personalizadas no HTC One X.
Bash para loop
Existem três construções básicas de loop no script Bash, para loop, enquanto loop e até. Neste tutorial, abordaremos o básico dos loops for no Bash, bem como as instruções break e continue para alterar o fluxo de um loop.
Bash até loop
Em linguagens de script como o Bash, os loops são úteis para automatizar tarefas repetitivas. Este tutorial explica o básico do loop até no Bash. O loop até é usado para executar um determinado conjunto de comandos, desde que a condição especificada seja falsa.







