SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Introdução ao Shell Script
   Introdução
       O que é o Shell do Linux ?
       O que é Shell Script e porquê utilizá-lo?
   Programando em Shell
       Conceitos básicos.
                        Como escrever ?
                        Variáveis
                        Aritmética
                        Comandos
                        Caracteres ”Especiais”
                        Arquivos
                        ”Conectando” comandos
                        Filtros
                        Tomada de Decisão
                        Laços
       Construção de uma aplicação simples.
O que é o Shell do Linux ?
   É um programa ou um ambiente criado para interação do
    usuário com o sistema.
   Shell é uma linguagem interpretada que executa comandos
    provenientes de arquivos ou digitados pelo usuário.
   Não é parte do kernel, mas o utiliza para executar programas.
   Existem vários tipos de Shell.
        Para saber os que seu sistema possui digite o seguinte
         comando no terminal:
         cat /etc/shells
        Para saber qual Shell está executando no momento digite:
         echo $SHELL
O que é Shell Script e porquê utilizá-lo?


   O que é ?
       ”É uma série de comandos escritos em um
        arquivo de texto.”

   Porquê utilizá-lo ?
       Criar seus próprios comandos.
       Automatizar tarefas do dia-a-dia.
       Automatizar tarefas de administração do sistema.
       Outros.
Conceitos Básicos
  Como escrever ?
     Use o editor de texto de sua preferência.
     Depois de terminado o script, é necessário
      configurar as permissões seguindo a seguinte
      sintaxe:
               chmod permissão nome-do-script
               Exemplo: chmod +x seu-script
     Para executá-lo podemos usar diversas sintaxes
      como:
               bash seu-script
               sh seu-script
               ./seu-script
Conceitos Básicos

 Variáveis
     Do sistema: Criadas pelo sistema e são definidas
      em letra maiúscula.
                  Exemplos:
                         $USERNAME - nome do usuário
                         $HOME – caminho do diretório 'home'
     Definidas pelo usuário: são definidas pela sintaxe:
                        nome_da_variavel = valor
                 Devem iniciar com caracteres alfanuméricos ou '_' seguido
                   de um ou mais caracteres alfanuméricos.
                 Não são permitidos espaços antes ou depois do '='
                 Não é permitido o uso de caracteres especiais nos nomes.
Conceitos Básicos

    Variáveis
   Regras para nomeação:


     1) O nome deve começar com ”_”+caracteres ou caracteres.
                     HOME         var      _var
     2) Não colocar espaços após o sinal de igual ao fazer uma atribuição.
                     var = 0      var= 0          var =0   ERRO!
     3) São case-sensitive.
     4) É possível definir variáveis nulas(NULL).
     5) Não use caracteres especiais ao nomeá-las, exceto ”_”.
Conceitos Básicos
 Variáveis
    Para acessar uma variável é usada a seguinte
     sintaxe:
                 $nome_da_variavel

    Exemplo:
     # Escrevendo uma variável na tela
     clear #para limpar a tela
     numero=10
     string="PESL"
     echo "numero = $numero"
     echo "string = $string"
Conceitos Básicos
 Aritmética
 Sintaxe:
     `variavel operador1 operador_matematico operador2`

                 ` - crase
     Operadores:
                 +, -, /, *, %

    Exemplos:
                 echo `7+3` #deve aparecer 10 na tela
                 echo `7-3` #deve aparecer 4 na tela
                 echo `7*3` #deve aparecer 21 na tela
Conceitos Básicos
    Comandos
   echo – mostra valores ou textos na tela.
        Sintaxe:    echo [opcao] [string,variável...]
                   Opções:
                        -e (habilita os comandos abaixo)
                                b – espaço
                                n – nova linha
                                t – tab
       OBS:
        ` ` - para executar comandos
        ' ' - o que estiver entre elas não muda
        ” ” - o que estiver entre elas é tratado como
        caracter, exceto  e $
Conceitos Básicos
    Comandos
   Status de um script
       Para saber o que ocorreu quando o script terminou
        é necessário saber o seu status. Para isto usamos
        o comando ”$?”
        echo $? #colocado no fim do script dará o status do mesmo
       Se a saída for ”0”, tudo correu como planejado.
        Caso contrário, algum erro ocorreu.
    OBS:
        Para utilizar mais de um comando de uma só vez,
        basta encadeá-los utilizando”;'
        Exemplo: comando1;comando2
Conceitos Básicos

    Comandos
   read – lê a entrada do teclado
    Sintaxe: read var1, var2, var3
    Exemplo:
      # Script que lê um nome e escreve na tela
      clear
      echo ”Digite seu nome:”
      read nome
      echo ”Olá $nome!”
Conceitos Básicos
    Caracteres ”Especiais”
   São caracteres ”chave” que facilitam algumas tarefas.
    Caractere        O que faz ?                             Exemplo
                                            ls * - mostra todos os arquivos
                                            ls arquivo* - mostra tudo que começar com
                                            ”arquivo”

       *          Retorna coincientes.      ls *.java - mostra tudo que tiver a extensão
                                            ”.java”
                                            ls a*.c - mostra tudo que tive ”a”+qualquer
                                            string no seu nome
                                            ls ? - mostra tudo cujo nome tiver
                                            somente um caractere.
       ?         Retorna coincidentes       ls arquivo? - mostra tudo cujo nome
                                            come;ca com ”arquivo” e tiver 8
                                            caracteres
                Retorna tudo que coinciir   ls [x,y,z]* - mostra tudo que começar
     [...]      com o conteúdo entre as
                        chaves.
                                            com ”x”, ”y” ou ”z”


    Teste estes comandos no terminal.
Conceitos Básicos
Arquivos
Gravando dados
   Símbolo de redirecionamento ”>”
                    Comando > arquivo
                    Exemplo:
                            $ ls > meuArquivo
                            Se ”meuArquivo” existir, será preenchido (sobrescrito)
                               com o resultado do comando, caso contrário, um
                               arquivo com este nome será criado e preenchido.
       Símbolo de redirecionamento ”>>”
                    Comando > arquivo
                    Exemplo:
                            $ ls >> meuArquivo
                            Se ”meuArquivo” existir, a saída do comando será
                               adicionada ao fim do arquivo, caso contrário, um
                               arquivo com este nome será criado e preenchido.
Conceitos Básicos
Arquivos
Lendo dados
        Símbolo de redirecionamento ”<”
        Comando < arquivo
        Exemplo:
                        $ echo < meuArquivo
                        A entrada do comando será o conteúdo do arquivo.
   Exemplo:
         clear #limpa a tela
         echo ”Digite seu nome:”
         read nome #captura o que foi digitado
         echo ”$nome!” > saida #grava o que foi digitado no arquivo "saida"
         date >> saida #grava a data no fim do arquivo "saida"
         clear #limpa a tela
         cat < saida #imprime na tela o conteudo de "saida"
Conceitos Básicos
”Conectando” Comandos
   O que é isso ?
    É quando um comando usa o outro como entrada ou saída.


        Exemplos:
                     $ ls -l | wc -l
                               A saída do comando ”ls” será informada como parâmetro
                                 para o comando ”wc”, que imprimirá na tela o número
                                 de arquivos neste diretório.
                     $ ls | sort
                               A saída do comando ”ls” será informada como parâmetro
                                 para o comando ”sort”, que imprimirá o nome dos
                                 arquivos contidos neste diretório em ordem alfabética.
Conceitos Básicos
Filtros
    Exemplos:
      Use o comando ”ls > out.txt” para criar um arquivo com o a saida do
       comando ”ls”.
      Teste os comandos abaixo:
                    $ tail -3 < out.txt > 3ultimas.txt
                            Gera um arquivo com as 3 últimas linhas contidas
                             no arquivo ”out.txt”

                    $ head -n5 < out.txt > 5primeiras.txt
                            Gera um arquivo com as 5 primeras linhas do
                             arquivo ”out.txt”

                    $ head -n10 < out.txt | tail -n5 > linhas_5-10.txt
                            Gera um arquivo com as linhas 6 a 10 de ”out.txt”
Conceitos Básicos
Tomada de Decisão
   IF
         Sintaxe:
                                              if [ <condição> ]
                         if [ <condição> ]    then
    if [ <condição> ]    then                      <comandos>
    then                      <comandos>      elif [ <condição> ]
         <comandos>      else                      <comandos>
    fi                        <comandos>      else
                         fi                        <comandos>
                                              fi
    Comparações de variáveis
              Símbolo Em SHELL Símbolo Em SHELL
                    ==      -eq          !=       -ne
                    >        gt           <        -lt
                    >=       ge          <=        -lt
Conceitos Básicos
Tomada de Decisão
    Comparações de Strings
           Em SHELL                          Significado
        String1 = String2                As strings são iguais.
        String1 != String2             As strings são diferentes.
              String              Checa se a string é válida (não nula).
             -n String             Checa se a string é válida e existe.
             -z String             Checa se a string nula e não existe.
    Testes sobre arquivos e diretórios
     Em SHELL                                   Significado
       -s arquivo                             Arquivo não vazio.
       -f arquivo            Arquivo existe ou arquivo existe e não é um diretório.
      -w arquivo                          Arquivo pode ser editado.
       -r arquivo                         Arquivo é somente leitura.
       -x arquivo                            Arquivo é executável.
      -d diretorio                    Diretório existe e não é um arquivo.
Conceitos Básicos
Laços
    FOR
     Sintaxe:
                for ( ( <expressão3>; <expressão2>; <expressão3> ) )
                do
                    <comandos>
                done
    WHILE
     Sintaxe:
                while ( <condição> )
                do
                   <comandos>
                done
Construindo uma Aplicação Simples

   Objetivo:
        Encontrar o arquivo com o nome designado na pasta atual e mostrá-lo na tela.

Mais conteúdo relacionado

Mais procurados

Shell Script - Luz e trevas
Shell Script - Luz e trevasShell Script - Luz e trevas
Shell Script - Luz e trevasOsvaldo Filho
 
Minicurso Shell Script
Minicurso Shell ScriptMinicurso Shell Script
Minicurso Shell ScriptLuís Eduardo
 
Introducao ao Shell Script
Introducao ao Shell ScriptIntroducao ao Shell Script
Introducao ao Shell ScriptHugo Maia Vieira
 
12 aula - shell script-2015
12   aula - shell script-201512   aula - shell script-2015
12 aula - shell script-2015Flávia Santos
 
Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)Hugo Maia Vieira
 
Curso de Shell Script 05/11
Curso de Shell Script 05/11Curso de Shell Script 05/11
Curso de Shell Script 05/11Rodrigo Silva
 
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
 
44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batchMarcio Pereira
 
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
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básicoCezar Souza
 
Curso de ShellScript - Lm07 shellscript7
Curso de ShellScript - Lm07 shellscript7Curso de ShellScript - Lm07 shellscript7
Curso de ShellScript - Lm07 shellscript7Pessoal
 
Aula6 Cont
Aula6 ContAula6 Cont
Aula6 Contwillians
 
PHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesPHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesAlmir Mendes
 
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 ComandoRafael Jaques
 

Mais procurados (20)

Tutorial Shell Script
Tutorial Shell ScriptTutorial Shell Script
Tutorial Shell Script
 
Shell Script - Luz e trevas
Shell Script - Luz e trevasShell Script - Luz e trevas
Shell Script - Luz e trevas
 
Minicurso Shell Script
Minicurso Shell ScriptMinicurso Shell Script
Minicurso Shell Script
 
Introducao ao Shell Script
Introducao ao Shell ScriptIntroducao ao Shell Script
Introducao ao 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
 
Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)
 
Curso de Shell Script 05/11
Curso de Shell Script 05/11Curso de Shell Script 05/11
Curso de Shell Script 05/11
 
Shell scripts
Shell scriptsShell scripts
Shell scripts
 
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 script
Shell script Shell script
Shell script
 
44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch
 
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
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básico
 
Curso de ShellScript - Lm07 shellscript7
Curso de ShellScript - Lm07 shellscript7Curso de ShellScript - Lm07 shellscript7
Curso de ShellScript - Lm07 shellscript7
 
Aula6 Cont
Aula6 ContAula6 Cont
Aula6 Cont
 
PHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesPHP Day - PHP para iniciantes
PHP Day - PHP para iniciantes
 
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
 
Shell script
Shell scriptShell script
Shell script
 
Aula3
Aula3Aula3
Aula3
 

Semelhante a Introdução ao Shell Script - Conceitos Básicos

Comandos básicos Linux.docx
Comandos básicos Linux.docxComandos básicos Linux.docx
Comandos básicos Linux.docxWallace690884
 
Soa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shellSoa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shellportal_Do_estudante
 
Sapo sessions linux power tools
Sapo sessions linux power toolsSapo sessions linux power tools
Sapo sessions linux power toolsArmando Reis
 
Curso De Shell Aula 1
Curso De Shell   Aula 1Curso De Shell   Aula 1
Curso De Shell Aula 1Felipe Santos
 
01 apostila-introducao-shell
01   apostila-introducao-shell01   apostila-introducao-shell
01 apostila-introducao-shellvinicius caldeira
 
Sistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de ArquivosSistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de ArquivosLuiz Arthur
 
Curso de shell
Curso de shellCurso de shell
Curso de shellTiago
 
Curso de shell
Curso de shellCurso de shell
Curso de shellTiago
 
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
 
Comandos básicos linux
Comandos básicos linuxComandos básicos linux
Comandos básicos linuxLuciano Souto
 

Semelhante a Introdução ao Shell Script - Conceitos Básicos (20)

Shell Script
Shell ScriptShell Script
Shell Script
 
Linux shell
Linux shellLinux shell
Linux shell
 
Fpar aula5
Fpar aula5Fpar aula5
Fpar aula5
 
Lpi+102
Lpi+102Lpi+102
Lpi+102
 
Comandos linux
Comandos linux Comandos linux
Comandos linux
 
Comandos básicos Linux.docx
Comandos básicos Linux.docxComandos básicos Linux.docx
Comandos básicos Linux.docx
 
Shell script i
Shell script iShell script i
Shell script i
 
Soa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shellSoa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shell
 
Sapo sessions linux power tools
Sapo sessions linux power toolsSapo sessions linux power tools
Sapo sessions linux power tools
 
Curso De Shell Aula 1
Curso De Shell   Aula 1Curso De Shell   Aula 1
Curso De Shell Aula 1
 
Shell Script Linux
Shell Script LinuxShell Script Linux
Shell Script Linux
 
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
 
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)
 
Sistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de ArquivosSistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 
Aula4
Aula4Aula4
Aula4
 
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
 
Comandos básicos linux
Comandos básicos linuxComandos básicos linux
Comandos básicos linux
 

Mais de PeslPinguim

Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao ArduinoPeslPinguim
 
Aula 4 redes Inclusão Digital
Aula 4 redes Inclusão DigitalAula 4 redes Inclusão Digital
Aula 4 redes Inclusão DigitalPeslPinguim
 
Aula 3 parte 2 software Inclusão Digital
Aula 3 parte 2 software Inclusão DigitalAula 3 parte 2 software Inclusão Digital
Aula 3 parte 2 software Inclusão DigitalPeslPinguim
 
Aula 3 software Inclusão Digital
Aula 3 software Inclusão DigitalAula 3 software Inclusão Digital
Aula 3 software Inclusão DigitalPeslPinguim
 
Aula 2 parte 2 hardware Inclusão Digital
Aula 2 parte 2 hardware Inclusão DigitalAula 2 parte 2 hardware Inclusão Digital
Aula 2 parte 2 hardware Inclusão DigitalPeslPinguim
 
Aula 2 hardware Inclusão Digital
Aula 2 hardware Inclusão DigitalAula 2 hardware Inclusão Digital
Aula 2 hardware Inclusão DigitalPeslPinguim
 
Aula 1 apresentacao
Aula 1 apresentacaoAula 1 apresentacao
Aula 1 apresentacaoPeslPinguim
 
Aula 5 internet Inclusão Digital
Aula 5 internet Inclusão DigitalAula 5 internet Inclusão Digital
Aula 5 internet Inclusão DigitalPeslPinguim
 
Apresentação1_
Apresentação1_Apresentação1_
Apresentação1_PeslPinguim
 
Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10PeslPinguim
 
Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5PeslPinguim
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4PeslPinguim
 
Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1PeslPinguim
 
Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7PeslPinguim
 
Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3PeslPinguim
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2PeslPinguim
 
Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9PeslPinguim
 
Curso Básico de Java - Aula 8
Curso Básico de Java - Aula 8 Curso Básico de Java - Aula 8
Curso Básico de Java - Aula 8 PeslPinguim
 
Eletrônica aplicada - interruptor sonoro
Eletrônica aplicada - interruptor sonoroEletrônica aplicada - interruptor sonoro
Eletrônica aplicada - interruptor sonoroPeslPinguim
 

Mais de PeslPinguim (20)

Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Aula 4 redes Inclusão Digital
Aula 4 redes Inclusão DigitalAula 4 redes Inclusão Digital
Aula 4 redes Inclusão Digital
 
Aula 3 parte 2 software Inclusão Digital
Aula 3 parte 2 software Inclusão DigitalAula 3 parte 2 software Inclusão Digital
Aula 3 parte 2 software Inclusão Digital
 
Aula 3 software Inclusão Digital
Aula 3 software Inclusão DigitalAula 3 software Inclusão Digital
Aula 3 software Inclusão Digital
 
Aula 2 parte 2 hardware Inclusão Digital
Aula 2 parte 2 hardware Inclusão DigitalAula 2 parte 2 hardware Inclusão Digital
Aula 2 parte 2 hardware Inclusão Digital
 
Aula 2 hardware Inclusão Digital
Aula 2 hardware Inclusão DigitalAula 2 hardware Inclusão Digital
Aula 2 hardware Inclusão Digital
 
Apresentação1
Apresentação1Apresentação1
Apresentação1
 
Aula 1 apresentacao
Aula 1 apresentacaoAula 1 apresentacao
Aula 1 apresentacao
 
Aula 5 internet Inclusão Digital
Aula 5 internet Inclusão DigitalAula 5 internet Inclusão Digital
Aula 5 internet Inclusão Digital
 
Apresentação1_
Apresentação1_Apresentação1_
Apresentação1_
 
Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10
 
Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4
 
Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1
 
Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7
 
Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2
 
Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9
 
Curso Básico de Java - Aula 8
Curso Básico de Java - Aula 8 Curso Básico de Java - Aula 8
Curso Básico de Java - Aula 8
 
Eletrônica aplicada - interruptor sonoro
Eletrônica aplicada - interruptor sonoroEletrônica aplicada - interruptor sonoro
Eletrônica aplicada - interruptor sonoro
 

Introdução ao Shell Script - Conceitos Básicos

  • 1. Introdução ao Shell Script  Introdução  O que é o Shell do Linux ?  O que é Shell Script e porquê utilizá-lo?  Programando em Shell  Conceitos básicos.  Como escrever ?  Variáveis  Aritmética  Comandos  Caracteres ”Especiais”  Arquivos  ”Conectando” comandos  Filtros  Tomada de Decisão  Laços  Construção de uma aplicação simples.
  • 2. O que é o Shell do Linux ?  É um programa ou um ambiente criado para interação do usuário com o sistema.  Shell é uma linguagem interpretada que executa comandos provenientes de arquivos ou digitados pelo usuário.  Não é parte do kernel, mas o utiliza para executar programas.  Existem vários tipos de Shell.  Para saber os que seu sistema possui digite o seguinte comando no terminal: cat /etc/shells  Para saber qual Shell está executando no momento digite: echo $SHELL
  • 3. O que é Shell Script e porquê utilizá-lo?  O que é ?  ”É uma série de comandos escritos em um arquivo de texto.”  Porquê utilizá-lo ?  Criar seus próprios comandos.  Automatizar tarefas do dia-a-dia.  Automatizar tarefas de administração do sistema.  Outros.
  • 4. Conceitos Básicos Como escrever ?  Use o editor de texto de sua preferência.  Depois de terminado o script, é necessário configurar as permissões seguindo a seguinte sintaxe: chmod permissão nome-do-script Exemplo: chmod +x seu-script  Para executá-lo podemos usar diversas sintaxes como: bash seu-script sh seu-script ./seu-script
  • 5. Conceitos Básicos Variáveis  Do sistema: Criadas pelo sistema e são definidas em letra maiúscula. Exemplos: $USERNAME - nome do usuário $HOME – caminho do diretório 'home'  Definidas pelo usuário: são definidas pela sintaxe: nome_da_variavel = valor  Devem iniciar com caracteres alfanuméricos ou '_' seguido de um ou mais caracteres alfanuméricos.  Não são permitidos espaços antes ou depois do '='  Não é permitido o uso de caracteres especiais nos nomes.
  • 6. Conceitos Básicos Variáveis  Regras para nomeação: 1) O nome deve começar com ”_”+caracteres ou caracteres. HOME var _var 2) Não colocar espaços após o sinal de igual ao fazer uma atribuição. var = 0 var= 0 var =0 ERRO! 3) São case-sensitive. 4) É possível definir variáveis nulas(NULL). 5) Não use caracteres especiais ao nomeá-las, exceto ”_”.
  • 7. Conceitos Básicos Variáveis  Para acessar uma variável é usada a seguinte sintaxe: $nome_da_variavel  Exemplo: # Escrevendo uma variável na tela clear #para limpar a tela numero=10 string="PESL" echo "numero = $numero" echo "string = $string"
  • 8. Conceitos Básicos Aritmética Sintaxe: `variavel operador1 operador_matematico operador2` ` - crase Operadores: +, -, /, *, %  Exemplos: echo `7+3` #deve aparecer 10 na tela echo `7-3` #deve aparecer 4 na tela echo `7*3` #deve aparecer 21 na tela
  • 9. Conceitos Básicos Comandos  echo – mostra valores ou textos na tela. Sintaxe: echo [opcao] [string,variável...] Opções: -e (habilita os comandos abaixo) b – espaço n – nova linha t – tab  OBS: ` ` - para executar comandos ' ' - o que estiver entre elas não muda ” ” - o que estiver entre elas é tratado como caracter, exceto e $
  • 10. Conceitos Básicos Comandos  Status de um script  Para saber o que ocorreu quando o script terminou é necessário saber o seu status. Para isto usamos o comando ”$?” echo $? #colocado no fim do script dará o status do mesmo  Se a saída for ”0”, tudo correu como planejado. Caso contrário, algum erro ocorreu. OBS: Para utilizar mais de um comando de uma só vez, basta encadeá-los utilizando”;' Exemplo: comando1;comando2
  • 11. Conceitos Básicos Comandos  read – lê a entrada do teclado Sintaxe: read var1, var2, var3 Exemplo: # Script que lê um nome e escreve na tela clear echo ”Digite seu nome:” read nome echo ”Olá $nome!”
  • 12. Conceitos Básicos Caracteres ”Especiais”  São caracteres ”chave” que facilitam algumas tarefas. Caractere O que faz ? Exemplo ls * - mostra todos os arquivos ls arquivo* - mostra tudo que começar com ”arquivo” * Retorna coincientes. ls *.java - mostra tudo que tiver a extensão ”.java” ls a*.c - mostra tudo que tive ”a”+qualquer string no seu nome ls ? - mostra tudo cujo nome tiver somente um caractere. ? Retorna coincidentes ls arquivo? - mostra tudo cujo nome come;ca com ”arquivo” e tiver 8 caracteres Retorna tudo que coinciir ls [x,y,z]* - mostra tudo que começar [...] com o conteúdo entre as chaves. com ”x”, ”y” ou ”z” Teste estes comandos no terminal.
  • 13. Conceitos Básicos Arquivos Gravando dados  Símbolo de redirecionamento ”>”  Comando > arquivo  Exemplo: $ ls > meuArquivo Se ”meuArquivo” existir, será preenchido (sobrescrito) com o resultado do comando, caso contrário, um arquivo com este nome será criado e preenchido.  Símbolo de redirecionamento ”>>”  Comando > arquivo  Exemplo: $ ls >> meuArquivo Se ”meuArquivo” existir, a saída do comando será adicionada ao fim do arquivo, caso contrário, um arquivo com este nome será criado e preenchido.
  • 14. Conceitos Básicos Arquivos Lendo dados  Símbolo de redirecionamento ”<”  Comando < arquivo  Exemplo: $ echo < meuArquivo A entrada do comando será o conteúdo do arquivo.  Exemplo: clear #limpa a tela echo ”Digite seu nome:” read nome #captura o que foi digitado echo ”$nome!” > saida #grava o que foi digitado no arquivo "saida" date >> saida #grava a data no fim do arquivo "saida" clear #limpa a tela cat < saida #imprime na tela o conteudo de "saida"
  • 15. Conceitos Básicos ”Conectando” Comandos  O que é isso ? É quando um comando usa o outro como entrada ou saída.  Exemplos: $ ls -l | wc -l A saída do comando ”ls” será informada como parâmetro para o comando ”wc”, que imprimirá na tela o número de arquivos neste diretório. $ ls | sort A saída do comando ”ls” será informada como parâmetro para o comando ”sort”, que imprimirá o nome dos arquivos contidos neste diretório em ordem alfabética.
  • 16. Conceitos Básicos Filtros Exemplos:  Use o comando ”ls > out.txt” para criar um arquivo com o a saida do comando ”ls”.  Teste os comandos abaixo: $ tail -3 < out.txt > 3ultimas.txt Gera um arquivo com as 3 últimas linhas contidas no arquivo ”out.txt” $ head -n5 < out.txt > 5primeiras.txt Gera um arquivo com as 5 primeras linhas do arquivo ”out.txt” $ head -n10 < out.txt | tail -n5 > linhas_5-10.txt Gera um arquivo com as linhas 6 a 10 de ”out.txt”
  • 17. Conceitos Básicos Tomada de Decisão  IF Sintaxe: if [ <condição> ] if [ <condição> ] then if [ <condição> ] then <comandos> then <comandos> elif [ <condição> ] <comandos> else <comandos> fi <comandos> else fi <comandos> fi Comparações de variáveis Símbolo Em SHELL Símbolo Em SHELL == -eq != -ne > gt < -lt >= ge <= -lt
  • 18. Conceitos Básicos Tomada de Decisão  Comparações de Strings Em SHELL Significado String1 = String2 As strings são iguais. String1 != String2 As strings são diferentes. String Checa se a string é válida (não nula). -n String Checa se a string é válida e existe. -z String Checa se a string nula e não existe.  Testes sobre arquivos e diretórios Em SHELL Significado -s arquivo Arquivo não vazio. -f arquivo Arquivo existe ou arquivo existe e não é um diretório. -w arquivo Arquivo pode ser editado. -r arquivo Arquivo é somente leitura. -x arquivo Arquivo é executável. -d diretorio Diretório existe e não é um arquivo.
  • 19. Conceitos Básicos Laços  FOR Sintaxe: for ( ( <expressão3>; <expressão2>; <expressão3> ) ) do <comandos> done  WHILE Sintaxe: while ( <condição> ) do <comandos> done
  • 20. Construindo uma Aplicação Simples  Objetivo:  Encontrar o arquivo com o nome designado na pasta atual e mostrá-lo na tela.