Shell Script v0

1.137 visualizações

Publicada em

Curso de shell script.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.137
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
133
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

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.

×