Sintaxe de While Loop:
enquanto [condição]
fazer
comandos
feito
O bloco de partida e final de o tempo Loop é definido por fazer e feito Palavras -chave no script Bash. A condição de terminação é definida no início do loop. Abra um editor de texto para escrever um script bash e testar o seguinte, enquanto exemplos de loop.
Exemplo 1: itera o loop por um número fixo de vezes
Crie um arquivo bash chamado while1.sh com o seguinte conteúdo. Aqui, o loop itera 5 vezes e imprimirá o valor do contador em cada iteração.
#!/BIN/BASH
# Inicialize o contador
n = 1
# Itera o loop por 5 vezes
enquanto [$ n -LE 5]
fazer
# Imprima o valor de n em cada iteração
eco "Running $ n Time"
# Incremento o valor de n por 1
((n ++))
feito
Saída:
A saída a seguir aparecerá após a execução do script acima.
Exemplo 2: Usando a instrução Break para saída condicional
a ruptura A declaração é usada para sair do loop cedo com base em uma condição específica. Crie um arquivo bash chamado while2.sh Com o seguinte código. Aqui, o loop é definido para iterar 10 vezes, mas a iteração será interrompida quando o valor do contador for 6.
#!/BIN/BASH
# Inicialize o contador
n = 1
# Itera o loop por 10 vezes
enquanto [$ n -le 10]
fazer
# Verifique o valor de n
Se [$ n == 6]
então
eco "encerrado"
quebrar
fi
# Imprima o valor atual de n
eco "Posição: $ n"
# Incremento o valor de n por 1
((n ++))
feito
Saída:
A saída a seguir aparecerá após a execução do script acima.
Exemplo 3: Usando a declaração Continuar para omitir uma etapa específica
Crie um arquivo bash chamado while3.sh Com o seguinte código. Neste exemplo, o loop iterará por 5 vezes, mas não imprimirá todas as 5 posições. Quando o loop iterado pela 3ª vez, a declaração continua será executada e o loop será para a próxima iteração sem imprimir o texto da 3ª posição.
#!/BIN/BASH
# Inicialize o contador
n = 0
# Itera o loop por 5 vezes
enquanto [$ n -LE 5]
fazer
# Incremento o valor de n por 1
((n ++))
# Verifique o valor de n
Se [$ n == 3]
então
continuar
fi
# Imprima o valor atual de n
eco "Posição: $ n"
feito
Saída:
A saída a seguir aparecerá após a execução do script acima.
Exemplo-4: Leia o argumento da linha de comando com opções
Crie um arquivo bash chamado while4.sh Com o seguinte código. Aqui, o loop é usado para ler os argumentos da linha de comando com opções. O script imprimirá os valores de argumento formatado após a execução se os valores de três argumentos passarem com a opção válida.
#!/BIN/BASH
# Leia os valores dos argumentos da linha de comando com a opção usando loop
enquanto getopts n: a: e: opte
fazer
caso "$ opt"
em
n) nome = $ optarg ;;
a) endereço = $ optarg ;;
e) email = $ optarg ;;
*) eco "opção inválida"
saída 1 ;;
ESAC
feito
# Imprima os valores do argumento
printf "Nome: $ Name \ naddress: $ endereço \ nemail: $ email \ n"
Saída:
A saída a seguir aparecerá após a execução do script acima.
Exemplo 5: Leia a linha de arquivo por linha
Crie um arquivo bash chamado while5.sh Com o seguinte código. Aqui, um nome de arquivo será dado no primeiro argumento da linha de comando no tempo de execução. Se o arquivo existir, o conteúdo do arquivo será impresso linha por linha usando o loop; Caso contrário, uma mensagem de erro será impressa.
#!/BIN/BASH
# Verifique o valor do argumento da linha de comando é dado ou não
se [$# -gt 0]; então
# Atribua o nome do arquivo do valor do argumento da linha Comand
nome do arquivo = $ 1
# Leia a linha de arquivo por linha
enquanto lida linha; fazer
# Imprima cada linha
eco $ linha
feito < $filename
outro
# Mensagem de impressão se nenhum argumento for fornecido
eco "o valor do argumento está faltando."
fi
Saída:
A saída a seguir aparecerá após a execução do script acima.
Exemplo 6: Escreva conteúdo em um arquivo
Crie um arquivo bash chamado while6.sh Com o seguinte código. Aqui, o nome do arquivo será retirado do usuário no qual o conteúdo do texto será escrito. O usuário precisa digitar Ctrl+D depois de digitar o conteúdo do arquivo.
#! /BIN/BASH
eco -n "Digite o nome do arquivo para criar:"
# Pegue o nome do arquivo que será criado
Leia o nome do arquivo
# Leia o conteúdo do arquivo do terminal
enquanto lida a linha
fazer
ECHO $ LINE >> $ FILENAME
feito
Saída:
A saída a seguir aparecerá após a execução do script acima.
Exemplo 7: Criando um loop infinito
Às vezes, é necessário declarar um loop infinito para vários fins de programação. Crie um arquivo bash chamado while7.sh e teste o código do loop infinito. Nenhuma condição de rescisão é definida para o loop neste exemplo. Este tipo de loop é chamado de loop infinito. Aqui, uma declaração de saída é usada para sair do loop infinito. Portanto, esse loop será iterado 10 vezes e, quando o valor da iteração se tornar igual a 10, a declaração de saída será executada para sair do loop infinito.
#!/BIN/BASH
# Inicialize o contador
n = 1
# Declare um loop infinito
enquanto :
fazer
printf "O valor atual de n = $ n \ n"
Se [$ n == 3]
então
eco "bom"
Elif [$ n == 5]
então
eco "ruim"
Elif [$ n == 7]
então
eco "feio"
Elif [$ n == 10]
então
saída 0
fi
# Incremento o valor de n por 1
((n ++))
feito
# Pegue o nome do arquivo que será criado
Leia o nome do arquivo
# Leia o conteúdo do arquivo do terminal
enquanto lida a linha
fazer
ECHO $ LINE >> $ FILENAME
feito
Saída:
A saída a seguir aparecerá após a execução do script acima.
Exemplo 8: Usando o estilo C enquanto o loop
Crie um arquivo bash chamado while8.sh Com o seguinte código. Aqui, o loop while foi declarado em um formato de estilo C que itera 5 vezes incrementando o valor do contador em 10.
#!/BIN/BASH
# Inicialize o contador
n = 5
# Defina o tempo no estilo C
enquanto ((n <= 50))
fazer
eco $ n
# Contador de incremento em 10
((n = n+10))
feito
Saída:
A saída a seguir aparecerá após a execução do script acima.
Conclusão:
Diferentes usos do While Loop foram explicados neste tutorial usando vários exemplos. Espero que o usuário do BASH consiga usar esse loop corretamente em seu script depois de praticar esses exemplos.