SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Shell Script I
  Carlos Melo
Passos para criar um shell script

1. Escolher um nome para o script
   Já temos um nome: sistema.
   Use apenas letras minúsculas e evite acentos, símbolos
     e espaço em branco
2. Escolher o diretório onde colocar o script
  Para que o script possa ser executado de qualquer parte
    do sistema, mova-o para um diretório que esteja no seu
    PATH. Para ver quais são estes diretórios, use o
    comando:
  echo $PATH
  Se não tiver permissão de mover para um diretório do
    PATH, deixe-o dentro deseu diretório pessoal
    ($HOME).
3. Criar o arquivo e colocar nele os comandos
    Use o nano, VI ou outro editor de textos de sua preferência
      para colocar todos os
    comandos dentro do arquivo.
4. Colocar a chamada do shell na primeira linha
   A primeira linha do script deve ser:
    #!/bin/bash
    Para que ao ser executado, o sistema saiba que é o shell
      quem irá interpretar estes comandos.
5. Tornar o script um arquivo executável
   Use o seguinte comando para que seu script seja reconhecido
     pelo sistema como um
   comando executável:
   chmod +x sistema
Melhorar a saída na tela
   Executar os três comandos seguidos resulta em um bolo de texto na
  tela, misturando as informações e dificultando o entendimento. É
  preciso trabalhar um pouco a saída do script, tornando-a mais legível.
   O comando "echo" serve para mostrar mensagens na tela. Que tal
  anunciar cada comando antes de executá-lo?
   #!/bin/bash
   echo "Data e Horário:"
   date
   echo
   echo "Uso do disco:"
   df
   echo
   echo "Usuários conectados:"
   w
Para usar o echo, basta colocar o texto entre "aspas". Se nenhum texto
  for colocado, uma linha em branco é mostrada
Interagir com o usuário
 Para o script ficar mais completo, vamos colocar uma interação mínima com o
usuário, pedindo uma confirmação antes de executar os comandos.
 #!/bin/bash
 echo "Vou buscar os dados do sistema. Posso continuar? [sn] "
 read RESPOSTA
 test "$RESPOSTA" = "n" && exit
 echo "Data e Horário:"
 date
 echo
 echo "Uso do disco:"
 df
 echo
 echo "Usuários conectados:"
 w
 O comando "read" leu o que o usuário digitou e guardou na variável RESPOSTA. Logo em
seguida, o comando "test" verificou se o conteúdo dessa variável era "n"
Variáveis

  As variáveis são a base de qualquer script. É dentro
 delas que os dados obtidos durante a execução do script
 serão armazenados. Para definir uma variável, basta usar
 o sinal de igual "=" e para ver seu valor, usa-se o "echo":
    prompt$ VARIAVEL="um dois tres"
    prompt$ echo $VARIAVEL
    um dois tres
    prompt$ echo $VARIAVEL $VARIAVEL
    um dois tres um dois tres
    prompt$
Expressões aritméticas

O shell também sabe fazer contas. A construção usada para indicar uma
  expressão aritmética é "$((...))", com dois parênteses.
   prompt$ echo $((2*3))
   6
   prompt$ echo $((2*3-2/2+3))
   8
   prompt$ NUM=44
   prompt$ echo $((NUM*2))
   88
   prompt$ NUM=$((NUM+1))
   prompt$ echo $NUM
   45
Comandos
Comando if

if [ -e $linux ]
then echo 'A variável $linux
  existe.'
else echo 'A variável $linux
  não existe.'
fi
Comando if
 A expressão será avaliada pelo comando test, que pode ser
representado por “[]”, o resulta será passado para o comando
“if”, como “true” ou “false”.
Exemplos:

1. if [ $var = "M" ]; then echo -n “Você clicou m “;fi
2. if test $1 -gt 0
      then
         echo "$1 number is positive"
      else
         echo "$1 number is negative"
   fi
If, for e while
Exemplo
Fazendo for percorrer uma lista de                  i=$((i+1))
  palavras, pegando uma por vez:
                                                      echo "Contando: $i"
   for numero in um dois três quatro
      cinco                               done
   do                                     E temos ainda o loop infinito, com
                                             condicional de saída usando o "break :
   echo "Contando: $numero"
   done                                   while :
Uma ferramenta muito útil para usar com   do
  o for é o seq, que gera uma seqüência   if test -f /tmp/lock
  numérica. Para fazer o loop andar 10
  passos, pode-se fazer:                  then
     for passo in $(seq 10)               echo "Aguardando liberação do lock..."
O mesmo pode ser feito com o              sleep 1
  while, usando um contador:
                                          else
     i=0
                                          break
     while test $i -le 10
                                          fi
     do
                                          done
Alguns comandos

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Minicurso Shell Script
Minicurso Shell ScriptMinicurso Shell Script
Minicurso Shell Script
 
Curso Gratuito de Shell Script
Curso Gratuito de Shell ScriptCurso Gratuito de Shell Script
Curso Gratuito de Shell Script
 
Shell script
Shell scriptShell script
Shell script
 
12 aula - shell script-2015
12   aula - shell script-201512   aula - shell script-2015
12 aula - shell script-2015
 
Primeiros passos no terminal (TcheLinux UCPEL 2012)
Primeiros passos no terminal (TcheLinux UCPEL 2012)Primeiros passos no terminal (TcheLinux UCPEL 2012)
Primeiros passos no terminal (TcheLinux UCPEL 2012)
 
01 notações iniciais
01   notações iniciais01   notações iniciais
01 notações iniciais
 
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)
 
Scatole Nere
Scatole NereScatole Nere
Scatole Nere
 
Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell script
 
Curso De Shell Aula 1
Curso De Shell   Aula 1Curso De Shell   Aula 1
Curso De Shell Aula 1
 
Revista programar php -iniciação
Revista programar php -iniciaçãoRevista programar php -iniciação
Revista programar php -iniciação
 
Sistema De Janelas X
Sistema De Janelas XSistema De Janelas X
Sistema De Janelas X
 
Stack based overflow
Stack based overflowStack based overflow
Stack based overflow
 
Instalador - Arch Linux
Instalador - Arch LinuxInstalador - Arch Linux
Instalador - Arch Linux
 
Soa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shellSoa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shell
 
Shell Script
Shell ScriptShell Script
Shell Script
 
Shell Script v0
Shell Script v0Shell Script v0
Shell Script v0
 
Alterar password linux user pam autentication
Alterar password linux user   pam autenticationAlterar password linux user   pam autentication
Alterar password linux user pam autentication
 
Curso shell
Curso shellCurso shell
Curso shell
 
Java recursos avançados - filters
Java   recursos avançados - filtersJava   recursos avançados - filters
Java recursos avançados - filters
 

Andere mochten auch

Shell Tips and Tricks for sysadmin
Shell Tips and Tricks for sysadminShell Tips and Tricks for sysadmin
Shell Tips and Tricks for sysadminMagno Torres
 
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 bridgemaxytetsu
 
Bomba de infusão
Bomba de infusãoBomba de infusão
Bomba de infusãoGilcedaiane
 
Injetáveis com segurança
Injetáveis com segurançaInjetáveis com segurança
Injetáveis com segurançaIngrid Amanda
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosFrederico Madeira
 

Andere mochten auch (8)

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
 
Bomba de infusão
Bomba de infusãoBomba de infusão
Bomba de infusão
 
Virtualização - Máquinas Virtuais
Virtualização - Máquinas VirtuaisVirtualização - Máquinas Virtuais
Virtualização - Máquinas Virtuais
 
Seminário - dispositivos de infusão
Seminário -  dispositivos de infusãoSeminário -  dispositivos de infusão
Seminário - dispositivos de infusão
 
Injetáveis com segurança
Injetáveis com segurançaInjetáveis com segurança
Injetáveis com segurança
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos Básicos
 

Ähnlich wie Shell script i

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
 
Curso de ShellScript - Lm05 shellscript5
Curso de ShellScript - Lm05 shellscript5Curso de ShellScript - Lm05 shellscript5
Curso de ShellScript - Lm05 shellscript5Pessoal
 
Curso de ShellScript - Lm06 shellscript6
Curso de ShellScript - Lm06 shellscript6Curso de ShellScript - Lm06 shellscript6
Curso de ShellScript - Lm06 shellscript6Pessoal
 
Curso De Shell Aula 3
Curso De Shell   Aula 3Curso De Shell   Aula 3
Curso De Shell Aula 3Felipe Santos
 
Slide curso metasploit
Slide curso metasploitSlide curso metasploit
Slide curso metasploitRoberto Soares
 
Shell Script - Controle de fluxo
Shell Script - Controle de fluxoShell Script - Controle de fluxo
Shell Script - Controle de fluxoFrederico Madeira
 
Manual comandos
Manual comandosManual comandos
Manual comandosPaulo Rijo
 
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.pdfAntonioSvio1
 
Curso de ShellScript - Lm10 shellscript10
Curso de ShellScript - Lm10 shellscript10Curso de ShellScript - Lm10 shellscript10
Curso de ShellScript - Lm10 shellscript10Pessoal
 
01 apostila-introducao-shell
01   apostila-introducao-shell01   apostila-introducao-shell
01 apostila-introducao-shellvinicius caldeira
 
O Que é shell - bash
O Que é shell - bashO Que é shell - bash
O Que é shell - bashSérgio Silva
 
Curso de shell
Curso de shellCurso de shell
Curso de shellTiago
 
Curso de shell
Curso de shellCurso de shell
Curso de shellTiago
 

Ähnlich wie Shell script i (20)

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
 
Shell scripts
Shell scriptsShell scripts
Shell scripts
 
Curso de ShellScript - Lm05 shellscript5
Curso de ShellScript - Lm05 shellscript5Curso de ShellScript - Lm05 shellscript5
Curso de ShellScript - Lm05 shellscript5
 
Fpar aula5
Fpar aula5Fpar aula5
Fpar aula5
 
Curso de ShellScript - Lm06 shellscript6
Curso de ShellScript - Lm06 shellscript6Curso de ShellScript - Lm06 shellscript6
Curso de ShellScript - Lm06 shellscript6
 
Curso De Shell Aula 3
Curso De Shell   Aula 3Curso De Shell   Aula 3
Curso De Shell Aula 3
 
Slide curso metasploit
Slide curso metasploitSlide curso metasploit
Slide curso metasploit
 
Shell Script - Controle de fluxo
Shell Script - Controle de fluxoShell Script - Controle de fluxo
Shell Script - Controle de fluxo
 
3ª aula php
3ª aula php3ª aula php
3ª aula php
 
Linux shell
Linux shellLinux shell
Linux shell
 
Shell Script
Shell ScriptShell Script
Shell Script
 
Manual comandos
Manual comandosManual comandos
Manual comandos
 
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
 
Curso de ShellScript - Lm10 shellscript10
Curso de ShellScript - Lm10 shellscript10Curso de ShellScript - Lm10 shellscript10
Curso de ShellScript - Lm10 shellscript10
 
Shell script
Shell script Shell script
Shell script
 
01 apostila-introducao-shell
01   apostila-introducao-shell01   apostila-introducao-shell
01 apostila-introducao-shell
 
Apostila introducao-shell
Apostila introducao-shellApostila introducao-shell
Apostila introducao-shell
 
O Que é shell - bash
O Que é shell - bashO Que é shell - bash
O Que é shell - bash
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 

Mehr von Carlos Melo

Gestão de projetos introduçao
Gestão de projetos introduçaoGestão de projetos introduçao
Gestão de projetos introduçaoCarlos Melo
 
Roteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tardeRoteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tardeCarlos Melo
 
5a.aulacapacitor
5a.aulacapacitor5a.aulacapacitor
5a.aulacapacitorCarlos Melo
 
Atividade final acionamentos
Atividade final   acionamentosAtividade final   acionamentos
Atividade final acionamentosCarlos Melo
 
Questões clp-automação
Questões clp-automaçãoQuestões clp-automação
Questões clp-automaçãoCarlos Melo
 
Apresentação12
Apresentação12Apresentação12
Apresentação12Carlos Melo
 
Gestão da manutenção os 2
Gestão da manutenção os 2Gestão da manutenção os 2
Gestão da manutenção os 2Carlos Melo
 
Gestão da manutenção os 1
Gestão da manutenção os 1Gestão da manutenção os 1
Gestão da manutenção os 1Carlos Melo
 
Desenho técnico cap1
Desenho técnico   cap1Desenho técnico   cap1
Desenho técnico cap1Carlos Melo
 
Eletrônica básica
Eletrônica básicaEletrônica básica
Eletrônica básicaCarlos Melo
 
Analise de circuito indutores
Analise de circuito   indutoresAnalise de circuito   indutores
Analise de circuito indutoresCarlos Melo
 
Notas ete jags - destec
Notas ete   jags - destecNotas ete   jags - destec
Notas ete jags - destecCarlos Melo
 
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12Carlos Melo
 
Recuperação descrição
Recuperação   descriçãoRecuperação   descrição
Recuperação descriçãoCarlos Melo
 
Ete projetos elétricos 2
Ete projetos elétricos 2Ete projetos elétricos 2
Ete projetos elétricos 2Carlos Melo
 

Mehr von Carlos Melo (20)

Treinamento 1
Treinamento 1Treinamento 1
Treinamento 1
 
Zener
ZenerZener
Zener
 
Gestão de projetos introduçao
Gestão de projetos introduçaoGestão de projetos introduçao
Gestão de projetos introduçao
 
Capacitancia
CapacitanciaCapacitancia
Capacitancia
 
Roteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tardeRoteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tarde
 
5a.aulacapacitor
5a.aulacapacitor5a.aulacapacitor
5a.aulacapacitor
 
Atividade final acionamentos
Atividade final   acionamentosAtividade final   acionamentos
Atividade final acionamentos
 
Questões clp-automação
Questões clp-automaçãoQuestões clp-automação
Questões clp-automação
 
Apresentação12
Apresentação12Apresentação12
Apresentação12
 
Pneumática
PneumáticaPneumática
Pneumática
 
Gestão da manutenção os 2
Gestão da manutenção os 2Gestão da manutenção os 2
Gestão da manutenção os 2
 
Gestão da manutenção os 1
Gestão da manutenção os 1Gestão da manutenção os 1
Gestão da manutenção os 1
 
Desenho técnico cap1
Desenho técnico   cap1Desenho técnico   cap1
Desenho técnico cap1
 
Eletrônica básica
Eletrônica básicaEletrônica básica
Eletrônica básica
 
Analise de circuito indutores
Analise de circuito   indutoresAnalise de circuito   indutores
Analise de circuito indutores
 
Notas ete jags - destec
Notas ete   jags - destecNotas ete   jags - destec
Notas ete jags - destec
 
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
 
Recuperação descrição
Recuperação   descriçãoRecuperação   descrição
Recuperação descrição
 
Recuperação 1
Recuperação 1Recuperação 1
Recuperação 1
 
Ete projetos elétricos 2
Ete projetos elétricos 2Ete projetos elétricos 2
Ete projetos elétricos 2
 

Shell script i

  • 1. Shell Script I Carlos Melo
  • 2. Passos para criar um shell script 1. Escolher um nome para o script Já temos um nome: sistema. Use apenas letras minúsculas e evite acentos, símbolos e espaço em branco 2. Escolher o diretório onde colocar o script Para que o script possa ser executado de qualquer parte do sistema, mova-o para um diretório que esteja no seu PATH. Para ver quais são estes diretórios, use o comando: echo $PATH Se não tiver permissão de mover para um diretório do PATH, deixe-o dentro deseu diretório pessoal ($HOME).
  • 3. 3. Criar o arquivo e colocar nele os comandos Use o nano, VI ou outro editor de textos de sua preferência para colocar todos os comandos dentro do arquivo. 4. Colocar a chamada do shell na primeira linha A primeira linha do script deve ser: #!/bin/bash Para que ao ser executado, o sistema saiba que é o shell quem irá interpretar estes comandos. 5. Tornar o script um arquivo executável Use o seguinte comando para que seu script seja reconhecido pelo sistema como um comando executável: chmod +x sistema
  • 4. Melhorar a saída na tela Executar os três comandos seguidos resulta em um bolo de texto na tela, misturando as informações e dificultando o entendimento. É preciso trabalhar um pouco a saída do script, tornando-a mais legível. O comando "echo" serve para mostrar mensagens na tela. Que tal anunciar cada comando antes de executá-lo? #!/bin/bash echo "Data e Horário:" date echo echo "Uso do disco:" df echo echo "Usuários conectados:" w Para usar o echo, basta colocar o texto entre "aspas". Se nenhum texto for colocado, uma linha em branco é mostrada
  • 5. Interagir com o usuário Para o script ficar mais completo, vamos colocar uma interação mínima com o usuário, pedindo uma confirmação antes de executar os comandos. #!/bin/bash echo "Vou buscar os dados do sistema. Posso continuar? [sn] " read RESPOSTA test "$RESPOSTA" = "n" && exit echo "Data e Horário:" date echo echo "Uso do disco:" df echo echo "Usuários conectados:" w O comando "read" leu o que o usuário digitou e guardou na variável RESPOSTA. Logo em seguida, o comando "test" verificou se o conteúdo dessa variável era "n"
  • 6. Variáveis As variáveis são a base de qualquer script. É dentro delas que os dados obtidos durante a execução do script serão armazenados. Para definir uma variável, basta usar o sinal de igual "=" e para ver seu valor, usa-se o "echo": prompt$ VARIAVEL="um dois tres" prompt$ echo $VARIAVEL um dois tres prompt$ echo $VARIAVEL $VARIAVEL um dois tres um dois tres prompt$
  • 7. Expressões aritméticas O shell também sabe fazer contas. A construção usada para indicar uma expressão aritmética é "$((...))", com dois parênteses. prompt$ echo $((2*3)) 6 prompt$ echo $((2*3-2/2+3)) 8 prompt$ NUM=44 prompt$ echo $((NUM*2)) 88 prompt$ NUM=$((NUM+1)) prompt$ echo $NUM 45
  • 9. Comando if if [ -e $linux ] then echo 'A variável $linux existe.' else echo 'A variável $linux não existe.' fi
  • 10. Comando if A expressão será avaliada pelo comando test, que pode ser representado por “[]”, o resulta será passado para o comando “if”, como “true” ou “false”.
  • 11. Exemplos: 1. if [ $var = "M" ]; then echo -n “Você clicou m “;fi 2. if test $1 -gt 0 then echo "$1 number is positive" else echo "$1 number is negative" fi
  • 12. If, for e while
  • 13. Exemplo Fazendo for percorrer uma lista de i=$((i+1)) palavras, pegando uma por vez: echo "Contando: $i" for numero in um dois três quatro cinco done do E temos ainda o loop infinito, com condicional de saída usando o "break : echo "Contando: $numero" done while : Uma ferramenta muito útil para usar com do o for é o seq, que gera uma seqüência if test -f /tmp/lock numérica. Para fazer o loop andar 10 passos, pode-se fazer: then for passo in $(seq 10) echo "Aguardando liberação do lock..." O mesmo pode ser feito com o sleep 1 while, usando um contador: else i=0 break while test $i -le 10 fi do done