Skip to main content

Como escrever Bash WHILE-Loops

Shell Scripting - Criando scripts simples - comando echo - 06 - Linux (Junho 2026)

Shell Scripting - Criando scripts simples - comando echo - 06 - Linux (Junho 2026)
Anonim

Você pode executar uma seqüência de comandos, escrevendo-os em um arquivo de script e, em seguida, executá-lo.

Um arquivo de script é simplesmente um arquivo de texto, geralmente com a extensão de arquivo .SH, que contém uma seqüência de instruções que também podem ser executadas a partir da linha de comando (shell).

While Loop Examples

Abaixo está um exemplo de um loop while. Quando executado, esse arquivo de script imprimirá os números de 1 a 9 na tela. A instrução while fornece mais flexibilidade para especificar a condição de finalização do que o loop for.

Por exemplo, você pode tornar o script anterior um loop infinito, omitindo a instrução de incremento "((count ++))":

A instrução "sleep 1" pausa a execução por 1 segundo em cada iteração. Use o atalho de teclado Ctrl + C para finalizar o processo.

Você também pode criar um loop infinito colocando dois pontos como condição:

Para usar várias condições no loop while, você precisa usar a notação de colchetes duplos:

Nesse script, a variável "done" é inicializada como 0 e, em seguida, definida como 1 quando a contagem atinge 5. A condição de loop informa que o loop while continuará contanto que "count" seja menor que nove e "done" seja igual para zero. Portanto, os loops saem quando a contagem é igual a 5.

O "&&" significa lógico "e" e "||" significa lógico "ou".

Uma notação alternativa para as conjunções "e" e "ou" nas condições é "-a" e "-o" com colchetes simples. A condição acima:

… poderia ser reescrito como:

Ler um arquivo de texto normalmente é feito com um loop while. No exemplo a seguir, o script bash lê o conteúdo linha por linha de um arquivo chamado "inventory.txt:"

A primeira linha atribui o nome do arquivo de entrada à variável "FILE". A segunda linha salva a "entrada padrão" no descritor de arquivo "6" (pode ser qualquer valor entre 3 e 9). Isto é feito para que a "entrada padrão" possa ser restaurada para o descritor de arquivo "0" no final do script (veja a instrução "exec 0 Na terceira linha o arquivo de entrada é atribuído ao descritor de arquivo" 0, "que é usado Para a entrada padrão, a instrução "read" lê uma linha do arquivo em cada iteração e a atribui à variável "line1".

Para sair prematuramente de um loop while, você pode usar a instrução break como esta:

A instrução break pula a execução do programa para o final enquanto executa o loop e executa quaisquer instruções após ele. Nesse caso, a instrução "echo concluído".

A instrução continue, por outro lado, pula apenas o resto da instrução while loop da iteração atual e pula diretamente para a próxima iteração:

Nesse caso, a instrução "continue" é executada quando a variável "count" atinge 5. Isso significa que a instrução subsequente (echo "$ count") não é executada nesta iteração (quando o valor de "count" é 5).