SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
Fundamento de 
Programação Aplicada a 
Redes 
Aula 6 – Estrutura de repetição com shell scripts 
Professor: Paulo Cesar 
E-mail: pccbranco@gmail.com
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
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 )
Operadores 
Operadores booleanos 
!, ~ “Não” ou “NOT” ( negação lógica ) 
&& “E” ou “AND” 
|| “OU” ou “OR”
Operadores 
Operadores bit a bit ( utilizado em operações com bit) 
& AND ou E 
| OR ou OU 
^ Exclusive OR
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
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 ?
Solução Exerc_01 
#!/bin/bash 
for i in *.txt 
do 
cp $i ~/backup/ 
done
Solução Exerc_02 
#!/bin/bash 
for X in `seq 1 1 10` 
do 
echo "Vamos contar $x" 
done
Exemplos 
#!/bin/bash 
for j in “$var1” “$var2” “$var3” 
do 
echo "O valor informado é $j" 
cp $j ~/Teste/ 
done
Exemplos 
#!/bin/bash 
for (( i=1; $i < 10; i++)) 
do 
echo "$i" 
done
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/”
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
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
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>
loop infinito com break 
while [ condição ] 
do 
-- comandos -- 
if [ condição ] 
then 
break 
fi 
-- mais comandos -- 
done
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
loop infinito com continue 
while [ condição ] 
do 
-- comandos -- 
if [ condição ] 
then 
continue 
fi 
-- mais comandos -- 
done
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
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

Contenu connexe

Tendances

Soa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shellSoa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shellportal_Do_estudante
 
Alterar password linux user pam autentication
Alterar password linux user   pam autenticationAlterar password linux user   pam autentication
Alterar password linux user pam autenticationCarlos Eduardo
 
Minicurso Shell Script
Minicurso Shell ScriptMinicurso Shell Script
Minicurso Shell ScriptLuís Eduardo
 
Automatizando tarefas com bash script
Automatizando tarefas com bash scriptAutomatizando tarefas com bash script
Automatizando tarefas com bash scriptRennan Cockles
 
Bash, o poder da linha de comando! - Tchelinux.org 2017
Bash, o poder da linha de comando! - Tchelinux.org 2017Bash, o poder da linha de comando! - Tchelinux.org 2017
Bash, o poder da linha de comando! - Tchelinux.org 2017Sandro Custodio
 
Backend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana ArnosBackend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana ArnosiMasters
 
Revista programar php -iniciação
Revista programar php -iniciaçãoRevista programar php -iniciação
Revista programar php -iniciaçãoempalamado software
 
Desenvolvimento de web sites com php
Desenvolvimento de web sites com phpDesenvolvimento de web sites com php
Desenvolvimento de web sites com phpbrenod123
 
15 coisas sobre php para saber antes de morrer
15 coisas sobre php para saber antes de morrer15 coisas sobre php para saber antes de morrer
15 coisas sobre php para saber antes de morrerMichele Silva
 
Shell Script - Controle de fluxo
Shell Script - Controle de fluxoShell Script - Controle de fluxo
Shell Script - Controle de fluxoFrederico Madeira
 
Fazendo Analise de dados SÓ com Python (Just Python)
Fazendo Analise de dados SÓ com Python (Just Python)Fazendo Analise de dados SÓ com Python (Just Python)
Fazendo Analise de dados SÓ com Python (Just Python)Cesar Augusto
 
PHP e PostgreSQL: Um é pouco, dois é bom, três é demais
PHP e PostgreSQL: Um é pouco, dois é bom, três é demaisPHP e PostgreSQL: Um é pouco, dois é bom, três é demais
PHP e PostgreSQL: Um é pouco, dois é bom, três é demaisFabrízio Mello
 
Python com r (mini projeto)
Python com r (mini projeto)Python com r (mini projeto)
Python com r (mini projeto)Danilo Costa
 
O Que é Shell (bash)
O Que é Shell (bash)O Que é Shell (bash)
O Que é Shell (bash)Sérgio Silva
 

Tendances (20)

Soa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shellSoa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shell
 
Alterar password linux user pam autentication
Alterar password linux user   pam autenticationAlterar password linux user   pam autentication
Alterar password linux user pam autentication
 
Curso Gratuito de Shell Script
Curso Gratuito de Shell ScriptCurso Gratuito de Shell Script
Curso Gratuito de Shell Script
 
Minicurso Shell Script
Minicurso Shell ScriptMinicurso Shell Script
Minicurso Shell Script
 
Automatizando tarefas com bash script
Automatizando tarefas com bash scriptAutomatizando tarefas com bash script
Automatizando tarefas com bash script
 
Bash, o poder da linha de comando! - Tchelinux.org 2017
Bash, o poder da linha de comando! - Tchelinux.org 2017Bash, o poder da linha de comando! - Tchelinux.org 2017
Bash, o poder da linha de comando! - Tchelinux.org 2017
 
Tutorial Shell Script
Tutorial Shell ScriptTutorial Shell Script
Tutorial Shell Script
 
Backend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana ArnosBackend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana Arnos
 
Revista programar php -iniciação
Revista programar php -iniciaçãoRevista programar php -iniciação
Revista programar php -iniciação
 
Desenvolvimento de web sites com php
Desenvolvimento de web sites com phpDesenvolvimento de web sites com php
Desenvolvimento de web sites com php
 
15 coisas sobre php para saber antes de morrer
15 coisas sobre php para saber antes de morrer15 coisas sobre php para saber antes de morrer
15 coisas sobre php para saber antes de morrer
 
Shell Script - Controle de fluxo
Shell Script - Controle de fluxoShell Script - Controle de fluxo
Shell Script - Controle de fluxo
 
Fazendo Analise de dados SÓ com Python (Just Python)
Fazendo Analise de dados SÓ com Python (Just Python)Fazendo Analise de dados SÓ com Python (Just Python)
Fazendo Analise de dados SÓ com Python (Just Python)
 
Daprog elixir
Daprog elixirDaprog elixir
Daprog elixir
 
PHP e PostgreSQL: Um é pouco, dois é bom, três é demais
PHP e PostgreSQL: Um é pouco, dois é bom, três é demaisPHP e PostgreSQL: Um é pouco, dois é bom, três é demais
PHP e PostgreSQL: Um é pouco, dois é bom, três é demais
 
Python com r (mini projeto)
Python com r (mini projeto)Python com r (mini projeto)
Python com r (mini projeto)
 
Stack based overflow
Stack based overflowStack based overflow
Stack based overflow
 
O Que é Shell (bash)
O Que é Shell (bash)O Que é Shell (bash)
O Que é Shell (bash)
 
A Revolução dos Middlewares
A Revolução dos MiddlewaresA Revolução dos Middlewares
A Revolução dos Middlewares
 
Mini curso GOLANG
Mini curso GOLANGMini curso GOLANG
Mini curso GOLANG
 

En vedette

Linux4all#2
Linux4all#2Linux4all#2
Linux4all#2Daniel
 
Técnicas avancadas de seguranca com iptables - Marcus Augustus Pereira Burgh...
Técnicas avancadas de seguranca com iptables  - Marcus Augustus Pereira Burgh...Técnicas avancadas de seguranca com iptables  - Marcus Augustus Pereira Burgh...
Técnicas avancadas de seguranca com iptables - Marcus Augustus Pereira Burgh...Tchelinux
 
Slack4security
Slack4securitySlack4security
Slack4securityDaniel
 
Linux4security
Linux4securityLinux4security
Linux4securityDaniel
 
por Bruno Milreu Filipe "Casos avançados de teste de invasão – Indo além do “...
por Bruno Milreu Filipe "Casos avançados de teste de invasão – Indo além do “...por Bruno Milreu Filipe "Casos avançados de teste de invasão – Indo além do “...
por Bruno Milreu Filipe "Casos avançados de teste de invasão – Indo além do “...SegInfo
 
1008 ProgramaçãO C Completo
1008 ProgramaçãO C Completo1008 ProgramaçãO C Completo
1008 ProgramaçãO C CompletoFxx
 

En vedette (8)

Linux4all#2
Linux4all#2Linux4all#2
Linux4all#2
 
Bash for Developers
Bash for DevelopersBash for Developers
Bash for Developers
 
Técnicas avancadas de seguranca com iptables - Marcus Augustus Pereira Burgh...
Técnicas avancadas de seguranca com iptables  - Marcus Augustus Pereira Burgh...Técnicas avancadas de seguranca com iptables  - Marcus Augustus Pereira Burgh...
Técnicas avancadas de seguranca com iptables - Marcus Augustus Pereira Burgh...
 
Slack4security
Slack4securitySlack4security
Slack4security
 
Apresentação Linguagem C
Apresentação Linguagem CApresentação Linguagem C
Apresentação Linguagem C
 
Linux4security
Linux4securityLinux4security
Linux4security
 
por Bruno Milreu Filipe "Casos avançados de teste de invasão – Indo além do “...
por Bruno Milreu Filipe "Casos avançados de teste de invasão – Indo além do “...por Bruno Milreu Filipe "Casos avançados de teste de invasão – Indo além do “...
por Bruno Milreu Filipe "Casos avançados de teste de invasão – Indo além do “...
 
1008 ProgramaçãO C Completo
1008 ProgramaçãO C Completo1008 ProgramaçãO C Completo
1008 ProgramaçãO C Completo
 

Similaire à Fundamentos Programação Redes Estrutura Repetição

Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell scriptbrunobione
 
Introdução ao shell script no linux
Introdução ao shell script no linuxIntrodução ao shell script no linux
Introdução ao shell script no linuxPaulo Damas
 
Sapo sessions linux power tools
Sapo sessions linux power toolsSapo sessions linux power tools
Sapo sessions linux power toolsArmando Reis
 
Introducao ao Shell Script
Introducao ao Shell ScriptIntroducao ao Shell Script
Introducao ao Shell ScriptHugo Maia Vieira
 
Curso de ShellScript - Lm06 shellscript6
Curso de ShellScript - Lm06 shellscript6Curso de ShellScript - Lm06 shellscript6
Curso de ShellScript - Lm06 shellscript6Pessoal
 
Curso de ShellScript - Lm05 shellscript5
Curso de ShellScript - Lm05 shellscript5Curso de ShellScript - Lm05 shellscript5
Curso de ShellScript - Lm05 shellscript5Pessoal
 
Curso de ShellScript - Lm07 shellscript7
Curso de ShellScript - Lm07 shellscript7Curso de ShellScript - Lm07 shellscript7
Curso de ShellScript - Lm07 shellscript7Pessoal
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECLW3P Projetos Web
 
Shell script do zero aula 1 - basico do basico e primeiros comandos
Shell script do zero    aula 1 - basico do basico e primeiros comandosShell script do zero    aula 1 - basico do basico e primeiros comandos
Shell script do zero aula 1 - basico do basico e primeiros comandosIvan Ribeiro
 
Curso de shell
Curso de shellCurso de shell
Curso de shellTiago
 
Curso de shell
Curso de shellCurso de shell
Curso de shellTiago
 

Similaire à Fundamentos Programação Redes Estrutura Repetição (20)

Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell script
 
Linux shell
Linux shellLinux shell
Linux shell
 
Shell script
Shell scriptShell script
Shell script
 
Introdução ao shell script no linux
Introdução ao shell script no linuxIntrodução ao shell script no linux
Introdução ao shell script no linux
 
Fpar aula5
Fpar aula5Fpar aula5
Fpar aula5
 
Sapo sessions linux power tools
Sapo sessions linux power toolsSapo sessions linux power tools
Sapo sessions linux power tools
 
Introducao ao Shell Script
Introducao ao Shell ScriptIntroducao ao Shell Script
Introducao ao Shell Script
 
Curso shell
Curso shellCurso shell
Curso shell
 
Curso de ShellScript - Lm06 shellscript6
Curso de ShellScript - Lm06 shellscript6Curso de ShellScript - Lm06 shellscript6
Curso de ShellScript - Lm06 shellscript6
 
Shell scripts
Shell scriptsShell scripts
Shell scripts
 
Lpi+102
Lpi+102Lpi+102
Lpi+102
 
Curso de ShellScript - Lm05 shellscript5
Curso de ShellScript - Lm05 shellscript5Curso de ShellScript - Lm05 shellscript5
Curso de ShellScript - Lm05 shellscript5
 
Curso de ShellScript - Lm07 shellscript7
Curso de ShellScript - Lm07 shellscript7Curso de ShellScript - Lm07 shellscript7
Curso de ShellScript - Lm07 shellscript7
 
Shell Script
Shell ScriptShell Script
Shell Script
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECL
 
PHP GERAL
PHP GERALPHP GERAL
PHP GERAL
 
Shell Script Linux
Shell Script LinuxShell Script Linux
Shell Script Linux
 
Shell script do zero aula 1 - basico do basico e primeiros comandos
Shell script do zero    aula 1 - basico do basico e primeiros comandosShell script do zero    aula 1 - basico do basico e primeiros comandos
Shell script do zero aula 1 - basico do basico e primeiros comandos
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 

Plus de Geomar Matias Lima (10)

Dupla 8 doc
Dupla 8 docDupla 8 doc
Dupla 8 doc
 
Agr introducao
Agr introducaoAgr introducao
Agr introducao
 
Agr aula2
Agr aula2Agr aula2
Agr aula2
 
Agr aula3
Agr aula3Agr aula3
Agr aula3
 
Segurança em sistemas distribuídos
Segurança em sistemas distribuídosSegurança em sistemas distribuídos
Segurança em sistemas distribuídos
 
TABELA BRASILEIRÃO 2014 SERIE B
TABELA BRASILEIRÃO 2014 SERIE BTABELA BRASILEIRÃO 2014 SERIE B
TABELA BRASILEIRÃO 2014 SERIE B
 
Tabela serieb2014 realçdo
Tabela serieb2014 realçdoTabela serieb2014 realçdo
Tabela serieb2014 realçdo
 
Tabela serieb2014
Tabela serieb2014Tabela serieb2014
Tabela serieb2014
 
Descrição do curso mva eventos
Descrição do curso mva eventosDescrição do curso mva eventos
Descrição do curso mva eventos
 
Apostila de karate_shotokan
Apostila de karate_shotokanApostila de karate_shotokan
Apostila de karate_shotokan
 

Fundamentos Programação Redes Estrutura Repetição

  • 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 )
  • 4. Operadores Operadores booleanos !, ~ “Não” ou “NOT” ( negação lógica ) && “E” ou “AND” || “OU” ou “OR”
  • 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 ?
  • 8. Solução Exerc_01 #!/bin/bash for i in *.txt do cp $i ~/backup/ done
  • 9. Solução Exerc_02 #!/bin/bash for X in `seq 1 1 10` do echo "Vamos contar $x" done
  • 10. Exemplos #!/bin/bash for j in “$var1” “$var2” “$var3” do echo "O valor informado é $j" cp $j ~/Teste/ done
  • 11. Exemplos #!/bin/bash for (( i=1; $i < 10; i++)) do echo "$i" done
  • 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