10 exemplos legais e impressionantes de Bash Loop

10 Exemplos Legais E Impressionantes De Bash Loop



Na linguagem de programação, existem basicamente três tipos de loops (for, while e until). Todos os três tipos de loops são importantes de maneiras diferentes. Não há muita diferença entre os loops while e until, mas o loop for funciona bem diferente desses dois. É por isso que você pode usar esses loops para criar scripts interativos como um usuário bash.

Portanto, aprender exemplos de bash pode ajudá-lo a melhorar suas habilidades na criação de scripts. Portanto, neste tutorial, incluiremos 10 exemplos legais e impressionantes de bash loop que você pode experimentar para aprimorar suas habilidades de script.







10 exemplos legais e impressionantes de Bash Loop

Nesta seção, explicaremos vários exemplos e as abordagens que usamos nos loops.



Comando Seq com loop no Bash

Você pode usar o comando seq no loop for para criar a sequência de números. Por exemplo, você tem um script bash “File.sh” que contém o seguinte código:



#!/bin/bash
por UMA dentro $ ( sequência 5 dois 25 )
Faz
eco 'números de $A são'
feito





Você obterá o seguinte resultado após executar o script no terminal:

. / arquivo.sh




Renomear arquivos usando loop

Usando um script bash, você pode usar os loops for para renomear vários arquivos. Por exemplo, você tem vários arquivos .txt e deseja adicionar a data atual com o nome. Então, aqui está o script de exemplo que você pode usar:

#!/bin/bash
por UMA dentro $ ( ls * .TXT ) ; Faz
mv $A ( nome base $A .TXT ) _$ ( encontro % d % m % ) .TXT
feito


Agora, você pode executar o script e ele mudará o nome de todos os arquivos .txt adicionando a data atual:

. / MeuArquivo.sh



Da mesma forma, você pode alterar as extensões de um arquivo por meio de um único script. Então vamos mudar a extensão .txt para .sh através do seguinte script:

#!/bin/bash
por Arquivo dentro * .TXT; Faz
mv -- ' $arquivo ' '{arquivo%.txt}.sh'
feito

Depois de executar o script no terminal, você obterá os arquivos .sh em vez de .txt:

. / MeuArquivo.sh


For Loop Infinito no Bash

Quando nenhuma condição de término é definida no loop, ele é chamado de loop infinito. Neste exemplo de loop Bash, veremos o loop for infinito no bash. O loop for infinito a seguir é definido por um ponto e vírgula duplo ( ; ; ) e não contém nenhuma parte inicial, de ação ou finalização.

O script abaixo continuará até que você pressione Ctrl+C ou digite “quit” como entrada. Este script imprimirá todos os números de 10 a 50 fornecidos como entrada. Caso contrário, imprimirá “o número está fora do intervalo”.

#!/bin/bash
#Loop infinito
por ( ( ; ; ) )
Faz
eco 'Digite um número entre 10 e 50'
ler n
E se [ $n == 'Sair' ]
então
eco 'encerrado'
saída 0
ser
E se ( ( $n < 10 || $n > cinquenta ) )
então
eco 'O número está fora do intervalo'
senão
eco 'O número é $n '
ser
feito

Demos 45 e 23 entradas válidas no script acima. Depois disso, imprimimos 2 como entrada, informando na saída que “o número está fora do intervalo”. Depois disso, para fechar o script, digitamos quit como entrada. Aqui você também pode pressionar Ctrl+C para sair do loop infinito.

Loop de três expressões no Bash

Sabe-se pelo nome do loop de três expressões que ele compreende três expressões, também chamadas de expressões de controle. A primeira expressão (EXP1) é o inicializador, a segunda expressão (EXP2) é o teste ou condição de loop e a terceira expressão (EXP3) é a expressão/etapa de contagem. Vamos executar um loop de três expressões no bash:

#!/bin/bash
por ( ( n = 5 ; n > = 1 ; n-- ) )
Faz
eco 'Livro $n '
feito

Ao executar o script acima, você obterá a seguinte saída.

Loop com várias condições

Usamos o loop até com várias condições no seguinte exemplo de loop bash. Neste script, pegamos “m” e “n”, duas variáveis ​​cujos valores são 20 e 10, respectivamente, e mantivemos o limite de 15. Aqui colocamos as condições “m” e “n” juntas no loop, em que o loop será executado até que o valor de “m” seja menor que o limite e “n” seja maior que o limite.

#!/bin/bash
limite = quinze
m = vinte
n = 10
até [ [ $m -lt $limite || $n -gt $limite ] ] ;
Faz
eco 'Se M = $m então N = $n '
( ( m-- ) )
( ( n++ ) )
feito

Você pode ver que rodando o script acima vai rodar até que os valores de “m” e “n” cheguem ao mesmo nível.

Ler arquivo no Bash

No bash, você pode ler o conteúdo de um arquivo de várias maneiras. Neste exemplo de loop bash, iremos ler o conteúdo do arquivo através do nome do arquivo. Podemos usar o seguinte script para ler o arquivo no bash:

#!/bin/bash
eco 'O conteúdo do arquivo inserido é:'
enquanto
ler linha
Faz
eco $linha
feito < ~Documentos / Linuxhint.txt

Depois de executar o script acima, você pode ler o conteúdo completo do arquivo inserido.

Escrevendo em um arquivo

Você pode usar os loops no script para editar um arquivo diretamente do terminal. Por exemplo, se tivermos um arquivo txt “Example.txt” e quisermos adicionar algumas informações, podemos usar o seguinte script:


Se você executar o script acima, ele solicitará que você insira os detalhes:


Depois de inserir os detalhes, pressione CTRL + D para salvar o arquivo e CTRL + Z para concluir o processo com sucesso.

Interromper e continuar loop de instrução no Bash

No bash, você pode continuar sua instrução de loop após o intervalo. A instrução break sai do loop e passa o controle para a próxima instrução fornecida. A iteração número dois começa depois que a iteração atual é ignorada com a mesma instrução continue.

#!/bin/bash
num = 16
até falso
Faz
( ( num-- ) )
E se [ [ $num -eq 13 ] ]
então
Prosseguir
elif [ [ $num - a 4 ] ]
então
parar
ser
eco 'LinuxHint= $num '
feito

No script bash a seguir, você pode ver que quando o “num” é igual a 13, ele pula o restante do corpo do loop e pula para a próxima iteração. Da mesma forma, o loop será interrompido quando “num” for menor ou igual a 4.


O script acima mostra que o loop começa em 15, quebra em 13 e continua até 5.

Calculando uma média no Bash

Você pode calcular a média executando o script em um loop bash. Nele, o usuário pode calcular a média dos números dentro de um intervalo definido. O script a seguir calcula a média de entrada fornecida pelo usuário.

#!/bin/bash
marcas = '0'
MÉDIA = '0'
SOMA = '500'
NUM = '5'
enquanto verdadeiro ; Faz
eco -n 'Digite suas marcas ou pressione 'q' para abortar' ; ler marcas;
E se ( ( ' $marks ' < '0' ) ) || ( ( ' $marcas ' > '100' ) ) ; então
eco 'Por favor, insira suas marcas'
elif [ ' $marcas ' == 'q' ] ; então
eco 'as notas médias são: $AVERAGE %'
parar
senão
SOMA =$ [ $SOMA + $marks ]
NUM =$ [ $NUM + 1 ]
MÉDIA =$ [ $SOMA / $NUM ]
ser
feito

Se a entrada não estiver dentro do intervalo, uma mensagem será impressa dizendo “Por favor, insira suas notas”. Quando o usuário pressiona “q” após inserir todas as marcas, o script calcula a média aproximada de todos os números inseridos.

Quando o script acima for executado, sua saída será algo como isto.

Leia os argumentos da linha de comando no Bash

No bash, você pode ler argumentos de linha de comando únicos usando loops. O script imprime os valores de argumento formatados. Executamos argumentos de linha de comando no bash usando um loop while no script a seguir. Através dele, você irá imprimir o valor passando a opção valor válido do argumento com a ajuda de um único comando.

#!/bin/bash
enquanto getopts N:F:M: OPT
Faz
caso ' ${OPT} '
dentro
N ) nome = ${OPTARG} ;;
F ) nome do pai = ${OPTARG} ;;
M ) nome da mãe = ${OPTARG} ;;
* ) eco 'Inválido'
saída 1 ;;
esac
feito
printf 'Nome: $nome \n Nome do pai: $fathername \n Nome da mãe: $mothername \n '

Assim, você pode imprimir os valores dos argumentos formatados na saída executando o script acima em um bash.

Empacotando

Portanto, esta foi a breve informação sobre os 10 exemplos legais e impressionantes de bash loop que você pode aprender. Usamos diferentes tipos de loops para criar o script interativo facilmente. Além disso, também explicamos as abordagens básicas usadas nos exemplos acima. Se você tiver detalhes detalhados sobre os loops no bash, visite nosso site oficial para saber mais.