Estrutura loop “for…do”

28 28America/Sao_Paulo dezembro 28America/Sao_Paulo 2017 Off Por Sidney silva santos

Loops são usados para executar ações repetidamente até que uma condição seja atendida ou até que todos os dados tenham sido processados. Um dos loops mais usados é o for…do. Ele itera através de uma lista de valores, executando o corpo do loop para cada elemento na lista. A sintaxe e alguns exemplos são aqui apresentados:

for VAR in LISTA
do
{ corpo }
done

O loop for atribui os valores em LIST a VAR, um de cada vez. Então, para cada valor, o corpo em chaves entre do e done é executado.

VAR pode ser qualquer nome de variável e LIST pode ser composta de praticamente qualquer lista de valores ou qualquer coisa que gere uma lista.

for NUMBER in 0 1 2 3 4 5 6 7 8 9
do
echo O número é $NUMBER
done

[caption id="attachment_1063" align="aligncenter" width="451"]Shell script Estrutura for Exemplo de um loop com o for.[/caption] [caption id="attachment_1064" align="aligncenter" width="451"]Shell script estrutura for Saida do código na tela.[/caption]

#!/bin/bash
#Essa é a estrutura for usando a função read para armazenar um valor
echo ‘Digite o nome do programa que você quer ver’
read arq
for FILE in $arq
do
echo ‘Esse é o programa desejado e o caminho onde ele se encontra’
#Usando o cmando type para mostrar o caminho do comando
type -a $FILE
done

[caption id="attachment_1066" align="aligncenter" width="452"]Shell script estrutura for Exemplo estrutura for.[/caption] [caption id="attachment_1067" align="aligncenter" width="451"]Shell script estrutura for Saída do código[/caption]

Você também pode escrever dessa maneira, que é um pouco mais limpa:

for NOME in Sidney da Silva Santos ; do
echo ‘Meu nome é : ‘ $NOME
done

Cada elemento de LIST é separado do seguinte por espaços em branco. Isso pode causar problemas se você não tiver cuidado, pois alguns comandos, como ls -l, geram saída de múltiplos campos por linha, cada um separado por um espaço em branco. A string done termina a instrução for.

Se você é um fiel programador em C, o bash permite que use a sintaxe C para controlar seus loops:

LIMIT=10
# Parênteses duplos, e nenhum $ em LIMIT mesmo sendo uma variável!
for ((a=1; a <= LIMIT ; a++)) ; do
echo “$a”
done

Anúncios