Escolar Documentos
Profissional Documentos
Cultura Documentos
Comandos Repeticao (Loop)
Comandos Repeticao (Loop)
for (para) No shell do Linux existe dois tipos de for: for (lista de valores) executado um comando para cada item da lista de valores, onde em cada linha a varivel recebe o valor de cada item da lista. Sintaxe:
for variavel in lista de valores do comandos done Exemplo: No abaixo criada uma varivel recebe o valor de cada item da lista de valores
#!/bin/bash for variavel in 1 2 3 do echo "os itens da lista so: $variavel" done
for (valor inicial, teste condicional, valor incremental) dividido em trs partes separados por ponto e vrgula " ; ", onde o valor inicial executado apenas uma vez antes do teste condicional, caso o teste condicional seja verdadeiro, incrementado de um 1 ao valor da varivel e os comandos aps as trs partes depois dos parnteses e chaves sero executados e assim por diante. Caso o teste lgico seja falso, o comando for interrompido.
Sintaxe: for((variavel=valor inicial; variavel teste lgico; variavel valor incremental)) { comandos }
comandos_repeticao(loop)
Exemplo: No exemplo abaixo a varivel x inicia com o valor inicial 0, aps isso feito um teste lgico verificando se o valor da varivel x menor ou igual a 10, caso seja verdadeiro, incrementado de um 1 a mais no valor da varivel, caso contrrio o comando for interrompido. A execuo de cada linha do comando for feito linha por linha como mostra a tabela abaixo:
#!/bin/bash for((x=0; x <=10; x++)) { echo "os valores da lista so: $x" }
while (enquanto)
O comando while que no portugus quer dizer enquanto, executa os comandos enquanto o teste condicional entre colchetes for verdadeira, caso seja falso, o comando while interrompido.
comandos_repeticao(loop)
comandos done
Exemplo 1:
No exemplo abaixo a varivel x inicia com o valor inicial 0, aps isso feito um teste lgico verificando se o valor da varivel x menor ou igual a 10, caso seja verdadeiro, incrementado de um 1 a mais no valor da varivel, caso contrrio o comando while interrompido. A execuo de cada linha do comando while feito linha por linha como mostra a tabela abaixo:
#!/bin/bash x=0 while [ $x -le 10 ]; do echo "os valores da lista so: $x" x=`expr $x + 1` done
Exemplo 2: No exemplo abaixo criado um loop de repetio infinito, pois o valor da varivel x sempre ser maior que 0 e incrementado de 1 o valor da varivel x.
comandos_repeticao(loop)
Exemplo 3: No exemplo abaixo criado um loop de repetio infinito enquanto o teste condicional for verdadeiro (true) e incrementado de 1 o valor da varivel x.
O comando until que no portugus quer dizer at que idntico ao comando while , executa os comandos enquanto a expresso for verdadeira, mas com uma nica diferena, a expresso analisada da direita para a esquerda.
Sintaxe:
Exemplo 1:
comandos_repeticao(loop)
No exemplo abaixo a varivel x inicia com o valor inicial 0, aps isso feito um teste lgico na expresso onde analisada da direita para a esquerda verificando se o nmero 10 maior que a varivel x, caso seja verdadeiro, incrementado de um 1 a mais no valor da varivel, caso contrrio o comando until interrompido.
A execuo de cada linha do comando until feito linha por linha como mostra a tabela abaixo:
#!/bin/bash x=0 until [ $x -gt 10 ]; do echo "os valores da lista so: $x" x=`expr $x + 1` done
Exemplo 2: No exemplo abaixo criado um loop de repetio infinito, pois 0 sempre ser menor que 10 e incrementado de 1 o valor da varivel x. A diferena entre until e while, que a expresso analisada da direita para a esquerda verificando se o nmero 0 menor que 10.
#!/bin/bash numero=10 until [ $numero -lt 0 ] do x=`expr $x + 1` echo "infinito $x" done