Bash enquanto exemplos de loop

Bash enquanto exemplos de loop
Três tipos de loops são usados ​​na programação de bash. Enquanto o loop é um deles. Como outros loops, um loop de tempo é usado para realizar tarefas repetitivas. Este artigo mostra como você pode usar um loop de tempo em um script de bash usando exemplos diferentes.

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.