Vimos Aula passada como fazer um laço de repetição que é executado até que uma determinada condição seja falsa. E se os dados estiverem em uma lista? Como fazemos para exectar um bloco de código para cada item dessa lista?
Neste caso podemos usar o comando for, que faz um ciclo do laço de repetição para cada item da lista, armazenando o valor do item em uma variável temporária que pode ser usada dentro do bloco de código:
dados="A B C D E F"
for letra in $dados; do
echo "Letra: $letra"
done
O comando acima contém uma lista de informações separadas por espaços, com um loop for que vai colocar o valor do item que está sendo lido dentro da variável letra, que é usada dentro do bloco, para mostrar a mensagem com cada letra.
Uma prática comum é criar uma variável temporária, que serve para contar quantos ciclos já foram executados dentro de um laço. Podemos usar este valor para acessar arrays e matrizes, ou para executar operações com o número.
Quando usamos um for com contadores, a sintaxe é um pouco diferente:
for (( i=0; i < 5; i++)); do
echo "contador com valor $i"
done
Veja que usamos dois parênteses, ao invés de colchetes como em outros laços. Além disso, perceba que existem três expressões no cabeçalho do laço:
i=0
O primeiro deles é a declaração inicial, onde criamos e/ou definimos uma variável como contador. Neste Caso ela é igual a zero.
i < 5
Indica a condição do loop. Ou seja: enquanto o valor de i for menor que 5, o bloco será executado até o final.
i++
Indica a alteração do valor após cada ciclo do loop. Toda vez que o interpretador chegar no final do bloco de código, a variável i será incrementada em 1.
- Faça um programa que leia todos os usuários do /etc/passwd e mostre um a um, usando um laço for
- Faça um programa que leia e mostre na tela um resumos de todos os últimos logins (use o comando last), usando for
- Carregue os nomes e diretórios home de todos os usuários, usando for.
- Crie um programa que leia todos os produtos cadastrados e mostre um resumo para cada item, e um resumo do valor total de mercadorias em estoque.
- Crie um programa de cadastro de usuários, que armazene o nome do usuário, quanto este usuário gastou em sua última compra.
- Crie um programa para que o usuário possa comprar os produtos, mostrando quanto ele já gastou na compra. No final da compra, gere um cupom de compras para o usuário saber o que ele comprou, e quanto foi gasto. Faça o cupom da melhor forma possível, cada detalhe é importante.