Como usar o comando For

Como usar o comando For

Introdução

Muitas vezes precisamos executar a mesma tarefa no terminal para vários itens diferentes, e repetir um comando várias vezes pode ser cansativo ou até mesmo inviável dependendo da quantidade, e o For pode resolver muitas situações de maneira simples, criando um loop. Há a possibilidade de utilizá-lo in line e em shell scripts, nesse post abordaremos essas duas formas de utilização com exemplos práticos!

O primeiro for a gente nunca esquece!

Vamos utilizar o for para printar uma frase 10 vezes utilizando uma variável, conforme .sh abaixo:

#/bin/bash
for i in $(seq 10)
do
echo Esta é a $iº execução do for
done

A execução do script nos traz o seguinte resultado:

comando for no linux

Repare, nós utilizamos o resultado no comando “Seq 10” para que uma frase seja colocada 10 vezes utilizando uma variável chamada de $i, então o for passa por todas as linhas criadas por esse comando e executa uma ação, resultando em 10 frases diferentes, entendeu a lógica?

Tá, mas como isso é útil?

São inúmeros os casos onde o for irá nos ajudar, mas vamos imaginar um cenário onde a equipe de TI precisa realizar um levantamento de todos os IP’s dos servidores dos sites abaixo:

google.com
youtube.com
facebook.com
wikipedia.org
yahoo.com
amazon.com
instagram.com
twitter.com
reddit.com
live.com
whatsapp.com
globo.com
cnn.com
uol.com.br
locaweb.com.br
registro.br
microsoft.com
brave.com
fortinet.com
rockstar.com

Para descobrir isso, vamos usar o comando host:

laço no linux

Agora que sabemos como fazer o processo para um site, vamos usar o FOR para executar a mesma operação para todos os sites!

Primeiro vamos armazenar todos os domínios em um arquivo chamado domains:

comando for

Dessa vez vamos executar a mesma operação dentro de um for com o seguinte script:

#/bin/bash 

for domain in $(cat domains) 
do 
host $domain | head -n1
done

Desse modo, obteremos a informação de maneira rápida e simples, vejam:

loop linux

FOR in line ?

Algumas vezes precisamos de um FOR simples e criar um arquivo.sh é desnecessario, para a operação acima por exemplo poderíamos executar:

for domain in $(cat domains);do host $domain | head -n1;done

A execução obtém exatamente o mesmo resultado:

como usar o comando for

Por fim, agradecemos a leitura e esperamos que este post tenha te ajudado de alguma maneira! Caso tenha alguma dúvida, entre em contato conosco pelo Telegram , Facebook ou Instagram ! Veja mais posts no IronLinux !