Introdução ao Shell Script   Introdução       O que é o Shell do Linux ?       O que é Shell Script e porquê utilizá-lo...
O que é o Shell do Linux ?   É um programa ou um ambiente criado para interação do    usuário com o sistema.   Shell é u...
O que é Shell Script e porquê utilizá-lo?   O que é ?       ”É uma série de comandos escritos em um        arquivo de te...
Conceitos Básicos  Como escrever ?     Use o editor de texto de sua preferência.     Depois de terminado o script, é nec...
Conceitos Básicos Variáveis     Do sistema: Criadas pelo sistema e são definidas      em letra maiúscula.                ...
Conceitos Básicos    Variáveis   Regras para nomeação:     1) O nome deve começar com ”_”+caracteres ou caracteres.      ...
Conceitos Básicos Variáveis    Para acessar uma variável é usada a seguinte     sintaxe:                 $nome_da_variave...
Conceitos Básicos Aritmética Sintaxe:     `variavel operador1 operador_matematico operador2`                 ` - crase    ...
Conceitos Básicos    Comandos   echo – mostra valores ou textos na tela.        Sintaxe:    echo [opcao] [string,variável...
Conceitos Básicos    Comandos   Status de um script       Para saber o que ocorreu quando o script terminou        é nec...
Conceitos Básicos    Comandos   read – lê a entrada do teclado    Sintaxe: read var1, var2, var3    Exemplo:      # Scrip...
Conceitos Básicos    Caracteres ”Especiais”   São caracteres ”chave” que facilitam algumas tarefas.    Caractere        O...
Conceitos BásicosArquivosGravando dados   Símbolo de redirecionamento ”>”                    Comando > arquivo          ...
Conceitos BásicosArquivosLendo dados        Símbolo de redirecionamento ”<”        Comando < arquivo        Exemplo:   ...
Conceitos Básicos”Conectando” Comandos   O que é isso ?    É quando um comando usa o outro como entrada ou saída.       ...
Conceitos BásicosFiltros    Exemplos:      Use o comando ”ls > out.txt” para criar um arquivo com o a saida do       coma...
Conceitos BásicosTomada de Decisão   IF         Sintaxe:                                              if [ <condição> ]  ...
Conceitos BásicosTomada de Decisão    Comparações de Strings           Em SHELL                          Significado     ...
Conceitos BásicosLaços    FOR     Sintaxe:                for ( ( <expressão3>; <expressão2>; <expressão3> ) )           ...
Construindo uma Aplicação Simples   Objetivo:        Encontrar o arquivo com o nome designado na pasta atual e mostrá-lo...
Próximos SlideShares
Carregando em…5
×

Shell Script v0

1.181 visualizações

Publicada em

Curso de shell script.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Shell Script v0

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 13. Conceitos BásicosArquivosGravando 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. 14. Conceitos BásicosArquivosLendo 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. 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. 16. Conceitos BásicosFiltros 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. 17. Conceitos BásicosTomada 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. 18. Conceitos BásicosTomada 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. 19. Conceitos BásicosLaços  FOR Sintaxe: for ( ( <expressão3>; <expressão2>; <expressão3> ) ) do <comandos> done  WHILE Sintaxe: while ( <condição> ) do <comandos> done
  20. 20. Construindo uma Aplicação Simples Objetivo:  Encontrar o arquivo com o nome designado na pasta atual e mostrá-lo na tela.

×