Exemplos de loops no Bash – Elias Praciano
Categories
Linux Programação Tutoriais UNIX

Exemplos de loops no Bash

Exemplos simples de loops na Bash shell, com for, while e until.
A partir destes exemplos básicos, você construir expressões mais complexas.

Mesmo não querendo se dedicar a aprender e entender melhor os meandros da linguagem de programação de scripts Bash, pode ser útil conhecer alguns de seus conceitos.
Saber criar loops é um destes conhecimentos básicos que vale a pena adquirir.
Um pequeno script pode ajudar a poupar uma enormidade de tempo, no dia a dia de qualquer usuário, de qualquer sistema operacional.
Se achar melhor, adicione esta página aos seus favoritos (Ctrl + D), para ter uma referência rápida no futuro. 😉

Os diferentes tipos de loops do Bash

Os loops (ou laços) são expressões presentes em todas (ou quase todas) as linguagens de programação. Além disso, podem se dividir em tipos diferentes.
No Bash, você pode usar for, while e until.
Veja em que casos cada um é mais indicado:

  • for — se você tem experiência com outras linguagens de programação, no Bash, o for é um pouco diferente da maioria.
    Basicamente é usado para te permitir iterar entre uma série de palavras dentro de uma string.
  • while — executa um pedaço de código, caso a expressão de controle seja verdadeira. Ele só irá parar quando ela for falsa — ou quando encontrar um break explícito no meio do código em execução.
  • until — muito semelhante ao while, exceto pelo fato de que o código é executado enquanto a expressão de controle é falsa.

Segue alguns exemplos simples, que você pode usar para compor ou construir um código mais sofisticado, para atender melhor às suas necessidades.

Exemplos de uso do for

Você pode experimentar este código diretamente na linha de comando do sistema, como no exemplo abaixo


for i in $( ls ); do
> echo item: $i
> done

… ou pode abrir um editor e escrever o código dentro dele e gravar com algum nome. O meu, vou gravar como exemplo-for.sh:


#!/bin/bash
for i in $( ls ); do
   echo item: $i
done

Explicando o código…

  • A primeira linha informa ao sistema que o arquivo deve ser executado com o programa /bin/bash.
  • Na segunda linha declaramos a variável i como repositório dos diferentes valores contidos em $( ls ).
  • A terceira linha expõe o valor atual de i.
  • Por fim, done informa que chegamos ao final do laço for e, se não houver mais nada a ser feito, o programa para por aqui — ou segue sendo executado.

Depois de gravado, execute-o com o bash


bash exemplo-for.sh

Experimente também este script, para colorir texto:


#!/bin/bash
for fg in {30..39}
do
    echo -e "\e["$fg"m apenas um texto colorido pelos caracteres de escape do BASH."
done

vim syntax color

Como criar um loop while no Bash

Veja um exemplo simples de laço while (enquanto), no Bash:


#!/bin/bash
contador=0
while [ $contador -lt 10 ];
do
    echo O valor atual do contador é: $contador
    let contador=contador+1
done

O argumento -lt pode ser abreviatura de less than ou lower than, que significame “menos que” ou “menor que”, em uma tradução livre.
Da mesma forma, usa-se -gt, como abreviatura de greater than, para “maior que”.

Exemplo de uso do until no Bash

Se eu fosse traduzir livremente a linha until [ $contador -lt 10 ]; no exemplo abaixo, eu diria “até que (until) a variável contador seja menor que 10…”
Experimente o código e veja o resultado:


#!/bin/bash
contador=30
until [ $contador -lt 10 ];
do
    echo O valor do meu contador é igual a $contador
    let contador-=1
done

[blog_subscription_form]

By Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como "Rick and Morty" e "BoJack Horseman".
Me siga no Twitter e vamos trocar ideias!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.