SlideShare une entreprise Scribd logo
1  sur  16
Introdução ao  Shell Script Hugo Maia Vieira @hugomaiavieira novembro de 2011 Esta obra é licenciada sob uma licença Creative Commons
¿O que é shell? ¿O que é script? ¿O que é Shell Script? scripts em shell == Shell Scritp ==
O Shell, terminal, prompt,  linha de comando
chmod  + x arquivo Localização do interpretador: hashbang¹ (#!) Scripts executáveis (Unix) #!/bin/sh #!/usr/bin/env sh ou ¹  http://en.wikipedia.org/wiki/Shebang_(Unix)
$ VARIAVEL='bla bla bla' $ echo $VARIAVEL bla bla bla Variáveis + Não pode haver espaços ao redor do igual + O comando  unset  apaga a variável + É possível armazenar a saída de um comando usando o  $( ... ) : $ DATA=$(date +%x) $ echo $DATA 09-11-2011
$ echo $((5*8)) 40 $ SOMA=$((2+5+1)) $ echo $SOMA 8 $ RESPOTA=$((SOMA*2)) $ echo $RESPOSTA 16 Expressões aritméticas + A construção utilizada para indicar uma expressão aritmética É  $(( ... )) .  Sim, com 2 parênteses!
$ test EXPRESSÃO $ test [ EXPRESSÃO ] $ man test $ test "a" = "a" && echo "é igual!" é igual $ echo $? 0 $ [ "a" = "b" ] && echo "é igual!" $ echo $? 1 O comando test + Para a sintaxe usando colchetes, deve ter um espaço entre a expressão e os colchetes .
if COMANDO then comandos  elif COMANDO then comandos else  comandos  fi if + O  if  testa um comando e não uma condição .  Porém, existe o comando  test  que testa condições . if test "a" -gt 25  #poderia usar [ "a" -gt 25 ] then echo "é maior que 25" else  echo "é menor que 25" fi +  Fique ligado : o  if  é fechado com o  fi , ou seja,  if  invertido .
for VARIAVEL in LISTA do comandos  done for + O  for  percorre uma lista, pegando um elemento a cada iteração . echo 'Seu computador irá explodir em 5 segundos' for numero in cinco quatro três dois um do echo "$numero" sleep 1 done  echo "BUUMMMM!!!"
for + Um comando muito útil para usar com o  for  é o  seq , que  gera uma sequência numérica . for numero in $(seq 5) + Outro comando muito útil para usar com o  for  é o  cat : contador=0 for pais in $(cat dados.txt) do contador=$((contador+1)) echo "$contador: $pais" done
while COMANDO do comandos  done while numero=0 while test $numero -le 10 do numero=$((numero+1)) echo "Contando: $numero" done + Existem também o  until , que têm as mesmas características do  while .  a única diferença é que ele faz o contrário .
case VARIAVEL in caso1) comando; comando;; caso2) comando; comando;; *) comando;; esac case case "$1" in -h | --help)  echo "$MENSAGEM_DE_USO" ;; -V | --version)  echo "1.0" ;; *) echo "Opção inválida: $1" ;; esac +  Fique ligado : o  case  é fechado com o  esac , ou seja,  case  invertido .
funcao() { comandos  } funções pedir_nome() { echo -n "Digite seu nome: " read NOME } pedir_nome echo "Olá $NOME!"
cut -d : -f 2 /etc/passwd # $0 = cut # $1 = -d # $2 = : # $3 = -f # $4 = 2 # $5 = /etc/passwd # $# = 5 # $* = -d : -f 2 /etc/passwd Opções de linha de comando + Variáveis especiais e parâmetros posicionais $0 -> Nome do script $1 - n -> Parâmetros passados à linha de comando $# -> Número de parâmetros passados $* -> Lista de parâmetros passados
Agora é apenas codigo! http://github.com/hugomaiavieira/shellscript-scti2011
http://www.tldp.org/guides.html Advanced Bash - Scripting Guide Referências http://www.novatec.com.br/livros/shellscript/ Shell Script Professinal – Aurélio Marinho Jargas http://en.wikipedia.org/wiki/Shebang_(Unix) Sobre o hashbang

Contenu connexe

Tendances

Programação em Shell Script
Programação em Shell ScriptProgramação em Shell Script
Programação em Shell Script
Reinaldo Lima
 
Soa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shellSoa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shell
portal_Do_estudante
 
Sapo sessions linux power tools
Sapo sessions linux power toolsSapo sessions linux power tools
Sapo sessions linux power tools
Armando Reis
 

Tendances (20)

Shell Script
Shell ScriptShell Script
Shell Script
 
Curso shell
Curso shellCurso shell
Curso shell
 
Shell Script v0
Shell Script v0Shell Script v0
Shell Script v0
 
Programação em Shell Script
Programação em Shell ScriptProgramação em Shell Script
Programação em Shell Script
 
Lista de exercícios em Bash (resolvida)
Lista de exercícios em Bash (resolvida) Lista de exercícios em Bash (resolvida)
Lista de exercícios em Bash (resolvida)
 
Curso gratuitoshellscript nivel-2
Curso gratuitoshellscript nivel-2Curso gratuitoshellscript nivel-2
Curso gratuitoshellscript nivel-2
 
Soa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shellSoa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shell
 
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
 
Stack based overflow
Stack based overflowStack based overflow
Stack based overflow
 
Shell script i
Shell script iShell script i
Shell script i
 
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoPHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
 
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
 
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
 
Sapo sessions linux power tools
Sapo sessions linux power toolsSapo sessions linux power tools
Sapo sessions linux power tools
 
Al sweigart, cap 3
Al sweigart, cap 3Al sweigart, cap 3
Al sweigart, cap 3
 
O Que é Shell (bash)
O Que é Shell (bash)O Que é Shell (bash)
O Que é Shell (bash)
 
Agenda em bash e dialog
Agenda em bash e dialogAgenda em bash e dialog
Agenda em bash e dialog
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECL
 
PowerShell
PowerShellPowerShell
PowerShell
 

En vedette

D link dsl-2640 b - configurando em bridge
D link dsl-2640 b - configurando em bridgeD link dsl-2640 b - configurando em bridge
D link dsl-2640 b - configurando em bridge
maxytetsu
 
Curso básico de eletrônica digital parte 12
Curso básico de eletrônica digital parte 12Curso básico de eletrônica digital parte 12
Curso básico de eletrônica digital parte 12
Renan Boccia
 
Curso básico de eletrônica digital parte 11
Curso básico de eletrônica digital parte 11Curso básico de eletrônica digital parte 11
Curso básico de eletrônica digital parte 11
Renan Boccia
 

En vedette (20)

Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos Básicos
 
Virtualização - Máquinas Virtuais
Virtualização - Máquinas VirtuaisVirtualização - Máquinas Virtuais
Virtualização - Máquinas Virtuais
 
Linux - Permissões, Usuários, Grupos e Quotas
Linux - Permissões, Usuários, Grupos e QuotasLinux - Permissões, Usuários, Grupos e Quotas
Linux - Permissões, Usuários, Grupos e Quotas
 
Introdução à Shellscript
Introdução à ShellscriptIntrodução à Shellscript
Introdução à Shellscript
 
Shell Script
Shell ScriptShell Script
Shell Script
 
Shell Tips and Tricks for sysadmin
Shell Tips and Tricks for sysadminShell Tips and Tricks for sysadmin
Shell Tips and Tricks for sysadmin
 
D link dsl-2640 b - configurando em bridge
D link dsl-2640 b - configurando em bridgeD link dsl-2640 b - configurando em bridge
D link dsl-2640 b - configurando em bridge
 
Introdução ao bash
Introdução ao bashIntrodução ao bash
Introdução ao bash
 
Java Script
Java ScriptJava Script
Java Script
 
Segurança na Internet - Google Hacking
Segurança na Internet - Google  HackingSegurança na Internet - Google  Hacking
Segurança na Internet - Google Hacking
 
Bomba de infusão
Bomba de infusãoBomba de infusão
Bomba de infusão
 
Apresentação da Linguagem de Programação PHP
Apresentação da Linguagem de Programação PHPApresentação da Linguagem de Programação PHP
Apresentação da Linguagem de Programação PHP
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
 
Segurança dos seus servidores Linux
Segurança dos seus servidores LinuxSegurança dos seus servidores Linux
Segurança dos seus servidores Linux
 
Curso básico de eletrônica digital parte 12
Curso básico de eletrônica digital parte 12Curso básico de eletrônica digital parte 12
Curso básico de eletrônica digital parte 12
 
Curso básico de eletrônica digital parte 11
Curso básico de eletrônica digital parte 11Curso básico de eletrônica digital parte 11
Curso básico de eletrônica digital parte 11
 
OpenLDAP: Porque utilizá-lo
OpenLDAP: Porque utilizá-loOpenLDAP: Porque utilizá-lo
OpenLDAP: Porque utilizá-lo
 
Servidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
Servidor de Autenticação Centralizada com OpenLDAP - Thiago FinardiServidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
Servidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
 
Primeira Aula PHP
Primeira Aula PHPPrimeira Aula PHP
Primeira Aula PHP
 
Certificação LPI-1 Amostra
Certificação LPI-1 AmostraCertificação LPI-1 Amostra
Certificação LPI-1 Amostra
 

Similaire à Introducao ao Shell Script

Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Regis Magalhães
 
O Que é shell - bash
O Que é shell - bashO Que é shell - bash
O Que é shell - bash
Sérgio Silva
 
Aula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdfAula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdf
AntonioSvio1
 

Similaire à Introducao ao Shell Script (20)

Curso de ShellScript - Lm05 shellscript5
Curso de ShellScript - Lm05 shellscript5Curso de ShellScript - Lm05 shellscript5
Curso de ShellScript - Lm05 shellscript5
 
Shell scripts
Shell scriptsShell scripts
Shell scripts
 
shell bash Fpar aula6
shell bash Fpar aula6shell bash Fpar aula6
shell bash Fpar aula6
 
Linux shell
Linux shellLinux shell
Linux shell
 
Curso de ShellScript - Lm10 shellscript10
Curso de ShellScript - Lm10 shellscript10Curso de ShellScript - Lm10 shellscript10
Curso de ShellScript - Lm10 shellscript10
 
Curso de ShellScript - Lm06 shellscript6
Curso de ShellScript - Lm06 shellscript6Curso de ShellScript - Lm06 shellscript6
Curso de ShellScript - Lm06 shellscript6
 
Ms dos comandos
Ms dos comandosMs dos comandos
Ms dos comandos
 
3ª aula php
3ª aula php3ª aula php
3ª aula php
 
Fpar aula5
Fpar aula5Fpar aula5
Fpar aula5
 
Introdução ao php
Introdução ao phpIntrodução ao php
Introdução ao php
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
 
Shell Script - Controle de fluxo
Shell Script - Controle de fluxoShell Script - Controle de fluxo
Shell Script - Controle de fluxo
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Php 02 Primeiros Passos
Php 02 Primeiros PassosPhp 02 Primeiros Passos
Php 02 Primeiros Passos
 
Comandos de controle de fluxo do php
Comandos de controle de fluxo do phpComandos de controle de fluxo do php
Comandos de controle de fluxo do php
 
Linguagem de Programação PERL
Linguagem de Programação PERLLinguagem de Programação PERL
Linguagem de Programação PERL
 
Manual-de-php
Manual-de-phpManual-de-php
Manual-de-php
 
O Que é shell - bash
O Que é shell - bashO Que é shell - bash
O Que é shell - bash
 
Aula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdfAula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdf
 
Introdução ao php - Condicionais e Laços de repetição
Introdução ao php - Condicionais e Laços de repetiçãoIntrodução ao php - Condicionais e Laços de repetição
Introdução ao php - Condicionais e Laços de repetição
 

Dernier

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Dernier (6)

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

Introducao ao Shell Script

  • 1. Introdução ao Shell Script Hugo Maia Vieira @hugomaiavieira novembro de 2011 Esta obra é licenciada sob uma licença Creative Commons
  • 2. ¿O que é shell? ¿O que é script? ¿O que é Shell Script? scripts em shell == Shell Scritp ==
  • 3. O Shell, terminal, prompt, linha de comando
  • 4. chmod + x arquivo Localização do interpretador: hashbang¹ (#!) Scripts executáveis (Unix) #!/bin/sh #!/usr/bin/env sh ou ¹ http://en.wikipedia.org/wiki/Shebang_(Unix)
  • 5. $ VARIAVEL='bla bla bla' $ echo $VARIAVEL bla bla bla Variáveis + Não pode haver espaços ao redor do igual + O comando unset apaga a variável + É possível armazenar a saída de um comando usando o $( ... ) : $ DATA=$(date +%x) $ echo $DATA 09-11-2011
  • 6. $ echo $((5*8)) 40 $ SOMA=$((2+5+1)) $ echo $SOMA 8 $ RESPOTA=$((SOMA*2)) $ echo $RESPOSTA 16 Expressões aritméticas + A construção utilizada para indicar uma expressão aritmética É $(( ... )) . Sim, com 2 parênteses!
  • 7. $ test EXPRESSÃO $ test [ EXPRESSÃO ] $ man test $ test "a" = "a" && echo "é igual!" é igual $ echo $? 0 $ [ "a" = "b" ] && echo "é igual!" $ echo $? 1 O comando test + Para a sintaxe usando colchetes, deve ter um espaço entre a expressão e os colchetes .
  • 8. if COMANDO then comandos elif COMANDO then comandos else comandos fi if + O if testa um comando e não uma condição . Porém, existe o comando test que testa condições . if test "a" -gt 25 #poderia usar [ "a" -gt 25 ] then echo "é maior que 25" else echo "é menor que 25" fi + Fique ligado : o if é fechado com o fi , ou seja, if invertido .
  • 9. for VARIAVEL in LISTA do comandos done for + O for percorre uma lista, pegando um elemento a cada iteração . echo 'Seu computador irá explodir em 5 segundos' for numero in cinco quatro três dois um do echo "$numero" sleep 1 done echo "BUUMMMM!!!"
  • 10. for + Um comando muito útil para usar com o for é o seq , que gera uma sequência numérica . for numero in $(seq 5) + Outro comando muito útil para usar com o for é o cat : contador=0 for pais in $(cat dados.txt) do contador=$((contador+1)) echo "$contador: $pais" done
  • 11. while COMANDO do comandos done while numero=0 while test $numero -le 10 do numero=$((numero+1)) echo "Contando: $numero" done + Existem também o until , que têm as mesmas características do while . a única diferença é que ele faz o contrário .
  • 12. case VARIAVEL in caso1) comando; comando;; caso2) comando; comando;; *) comando;; esac case case "$1" in -h | --help) echo "$MENSAGEM_DE_USO" ;; -V | --version) echo "1.0" ;; *) echo "Opção inválida: $1" ;; esac + Fique ligado : o case é fechado com o esac , ou seja, case invertido .
  • 13. funcao() { comandos } funções pedir_nome() { echo -n "Digite seu nome: " read NOME } pedir_nome echo "Olá $NOME!"
  • 14. cut -d : -f 2 /etc/passwd # $0 = cut # $1 = -d # $2 = : # $3 = -f # $4 = 2 # $5 = /etc/passwd # $# = 5 # $* = -d : -f 2 /etc/passwd Opções de linha de comando + Variáveis especiais e parâmetros posicionais $0 -> Nome do script $1 - n -> Parâmetros passados à linha de comando $# -> Número de parâmetros passados $* -> Lista de parâmetros passados
  • 15. Agora é apenas codigo! http://github.com/hugomaiavieira/shellscript-scti2011
  • 16. http://www.tldp.org/guides.html Advanced Bash - Scripting Guide Referências http://www.novatec.com.br/livros/shellscript/ Shell Script Professinal – Aurélio Marinho Jargas http://en.wikipedia.org/wiki/Shebang_(Unix) Sobre o hashbang