Linux: Estrutura de repetição "FOR" no Shell Script

Curso de Shell Script : aula 5

Tema da aula : Estrutura de repetição FOR

 Começamos agora mais uma aula de shell script onde iremos ver uma parte do conhecimento de shell script que poderá automatizar várias tarefas do seu dia-a-dia. 


FOR

Seu uso é simples . Composto da seguinte sintaxe :


#!/bin/bash
#script que gera senhas conjugadas com  palavras em lista 
#para brute-force

echo  " eu
tu 
ele
nos
linux
pentest
user
cruzeiro
saopaulo
" >>lista.txt

echo " Digite a palavra que queira que seja gerada "
echo "  As senhas conjugadas  "
read palavra
echo " Digite o nome desejado para salvar o arquivo "
read nome

for lista in $( cat lista.txt )
  do
      echo " $palavra$lista ">>$nome
  done

rm lista.txt

Vamos ler esse script para ficar fácil a compreensão da estrutura FOR.

 Foi mandado que escrever-se na tela (comando  echo )
as palavras que estão entre aspas , direcionando a saída do comando para lista.txt ( >>lista.txt) .

 Pedido ao usuário que digitasse a palavra que queria concatenar com a lista . A resposta atribuiu o valor digitado á variável $palavra, pedido agora o nome  para que seja salvo o arquivo , alimentando assim a variável $nome .

Agora inicia a estrutura de repetição FOR que siginifica "para" em português .

Para variável $lista  in (em ) ,  ali ele da um cat no arquivo que foi criado no inicio do script , e cada palavra na lista criada é atribuída a variável , uma de cada vez , ou seja a variável $lista receberá cada palavra que estiver na lista. 
Do (Faça)

Escreva na tela (echo) variável $palavra seguida e sem espaços da variável $lista direcionando para um arquivo com o nome escolhido na variável $nome.

Done (Feito)

Como todo bom programa ele deve apagar o lixo desnessário criado para sua execussão , por isso dando o 

rm lista.txt

que foi criado no inicio.

Exemplo :

Linux: Estrutura de repetição "FOR" no Shell Script



Também é possível utilizar as estruturas condicionais que você aprendeu nas outras aulas dentro da estrutura de repetição FOR.

Abraço .






Comentários :

Postar um comentário