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
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]