1. Fundamento de
Programação Aplicada a
Redes
Aula 6 – Estrutura de repetição com shell scripts
Professor: Paulo Cesar
E-mail: pccbranco@gmail.com
2. Shell Script
Conhecer os comandos do shell e suas funcionalidades
Conhecer os operadores utilizados em shell script
Compreender as estruturas de repetições e desvios
Escolher qual a melhor estrutura a ser utilizada em cada
caso
Ser capaz de utilizar estruturas de repetição e tomadas de
decisão na construção de scripts
3. Operadores
Operadores matemáticos
+ (soma) += (incremento por uma constante)
- (subtração) -= (decremento por uma constante)
* (multiplicação) *= (multiplica por uma constante)
/ (divisão) /= (divide por uma constante)
% (modulo) %= ( módulo por uma constante )
5. Operadores
Operadores bit a bit ( utilizado em operações com bit)
& AND ou E
| OR ou OU
^ Exclusive OR
6. Estrutura de repetição -
FOR A estrutura de repetição “for” interage sobre uma lista de objetos,
executando um bloco de comandos para cada objeto. Objetos
podem ser qualquer coisa que possa ser criada em forma de lista.
O “for” no shell se comporta diferente do que as outras linguagens
tradicionais. Em shell, o for percorre uma lista qualquer, e atribui a
uma variável, cada valor dessa lista.
Sintaxe:
for <nome_variável> in <lista_objetos>
do
<comando 1>
<comando 2>
…
<comando n>
done
7. Exercícios
1. Usando a estrutura de repetição “for”, criar um script
que liste todos os arquivos com extensão “.txt” e copie
para a pasta “~/backup” ?
2. Criar um script que imprime um sequência de
números definidos de 1 a 10, começando pelo número 1
e imprima na tela ?
12. Exercícios
3. Faça um script que crie uma lista de nomes ( “Jose” “Maria”
“Pedro” “Filipe” ) dentro de um arquivo e depois liste esses
nomes na tela do terminal. (Usando estrutura de repetição
FOR) ?
4.Criar um script que lista números de 1 a 100 ? (Usando For)
5.Faça um script que crie três diretórios e dois arquivos ?
(Usando For )
6. Faça um script verifique se existe arquivos com extensão
“.doc” e caso exista, fazer o backup deles para dentro da
pasta “~/Backup/”
13. While
É uma estrutura de repetição que testa uma condição no início
de um laço e fica em “loop” enquanto essa condição for
verdadeira. Ao contrário da estrutura de controle “for”, o
“while” é utilizado em situações onde o número de repetições
do laço não é conhecido.
SINTAXE
while [ condition ]
do
-- Comandos --
done
14. Exemplo - While
Exemplo 1 Exemplo 2
#!/bin/bash
i=1
while (( $i < 10 ))
do
echo "$i"
i=‘expr $i + 1‘
done
#!/bin/bash
while true
do
echo "Olá Mundo !!!"
done
15. Exemplo - While
Exemplo 3
#!/bin/bash
LIMIT=10
a=1
while [ $a -le $LIMIT ]
do
echo "O valor de $a"
let “a+=1”
done
O comando “let” realiza operações aritmética com números inteiros.
let <expressão>
16. loop infinito com break
while [ condição ]
do
-- comandos --
if [ condição ]
then
break
fi
-- mais comandos --
done
17. Exemplo – while loop
Break
#!/bin/bash
while true
do
echo “Entre com o numero:”
read n
if [ $n -gt 9 ]
then
echo “ Informação Falhou ! “
break
fi
echo “ Informação esta correta !”
done
18. loop infinito com continue
while [ condição ]
do
-- comandos --
if [ condição ]
then
continue
fi
-- mais comandos --
done
19. Exemplo – While loop
continue
#!/bin/bash
i=0
while [ $i -le 20 ]
do
i=$(expr $i + 1) ou i=$(($i+2))
j=$(expr $i % 2) ou j=$(($i%2))
if [ $j -ne 0 ]
then
continue
fi
echo “$i”
done
20. until
É uma estrutura de repetição que testa uma condição no início
de um laço e fica em “loop” enquanto essa condição for falsa.
Ou seja, seu funcionamento é o oposto do “while”
SINTAXE
until [ condition ]
do
-- Comandos --
done