SlideShare uma empresa Scribd logo
Introdução aos scripts em BASHProf. André Leon S. Gradvohl, Dr.andre.gradvohl@gmail.com
Plano de apresentaçãoO que são shell scripts?Comandos básicos do LinuxEstruturas básicas do BASHComandos condicionaisComandos de repetiçãoExemplos de scripts mais elaborados2
O que são Shell ScriptsShell scripts são pequenos programas escritos na linguagem do shell. Os shell scripts normalmente são usados para executar tarefas administrativas mais complexas, i. e., aquelas que envolvem dois ou mais comandos básicos.Os shells mais comuns são os seguintesBourneAgain Shell (/bin/bash)C Shell (/bin/csh)Turbo C Shell (/bin/tcsh)Korn Shell (/bin/ksh)3
Comandos Básicos do LinuxcdMudança de DiretórioEx: cd /Ir para o diretório raizlsListar os arquivos e diretório do local correnteEx: lsVariaçõesls –als –l4
Comandos Básicos do LinuxpwdMostra a localização atualEx: pwdmkdirCria um DiretórioEx: mkdiraula115
Comandos Básicos do LinuxcatExibe o Conteúdo de um ArquivoEx: cat aula.txtEx: cat –n aula.txtcpCopia de arquivosEx: cp aula.txt aula2.txtEx: cp aula.txt /tmp6
Comandos Básicos do LinuxdateExibe e altera a data e hora do computadorEx: dateEx: date +%d/%m/%YEx: date 1708203006Primeiro mês, dia, hora, anomvMover ou renomear arquivosEx: mv aula.txt aula3.txtEx: mv aula3.txt /aula/aula27
Comandos Básicos do LinuxclearLimpar a telaEx: cleardfSaber a quantidade de disco ocupadaEx: df –HfreeVerificar a utilização da memória RAMEx: free -m8
Comandos Básicos do Linuxrm ou rmdir apagar arquivos e diretóriosEx: rm aula2.txtEx: rm –d aula2manManual on-line dos comando do linuxEx: man dateEx: mancp9
Estrutura básica dos scripts Bashshell#!/bin/bashecho “Ola Mundo!”Importante:O arquivo que contém o script precisa ter permissão para execução.Para tanto, é necessário executar o comando:chmod +x arquivo.sh10
Estrutura básica dos scripts Bashshell – VariáveisAs variáveis nos shell scripts não têm tipo e são criadas dinamicamente.Exemplo:	VAR1=1;NOME=“Ze”A atribuição de variáveis é feita com o operador =.Para acessar o conteúdo das variáveis, utiliza-se o operador $.11
Estrutura básica dos scripts Bashshell - Leitura#!/bin/bashecho “Digite seu nome”read NOMEecho “Ola $NOME”12
Estrutura básica dos scripts Bashshell – Comandos Condicionais#!/bin/bashecho “Digite o nome de um arquivo”read ARQif [ -e $ARQ ]; thenecho “$ARQ existe no diretorio atual”elseecho “$ARQ nao existe no diretorio atual”fi13
Estrutura básica dos scripts Bashshell – Comandos CondicionaisObservações:O que aparece entre colchetes ([ ]) é o teste lógico que será feito.O teste entre colchetes pode aceitar as seguintes opções:-d arquivo: verdade se o arquivoexiste e é um diretório.-e arquivo: verdade se o arquivoexiste.-f arquivo: verdade se o arquivoexiste e é um arquivo regular.14
Estrutura básica dos scripts Bashshell – Comandos CondicionaisO teste entre colchetes também funciona com argumentos numéricos:arg1 -eq arg2: verdade se o arg1 for igual a arg2.arg1 -ltarg2: verdade se arg1formenorquearg2.arg1 -gtarg2: verdade searg1for maiorquearg2.arg1 -ne arg2: verdade searg1não for igual a arg2.arg1 -le arg2: verdade se arg1arg2.arg1 -gt arg2: verdade searg1 arg2.arg1 -ne arg2: verdade searg1≠ arg2.15
Estrutura básica dos scripts Bashshell – Comandos CondicionaisPara strings, os comandos são os seguintes:arg1 == arg2: verdade se o arg1 for igual a arg2.arg1 != arg2: verdade se arg1fordiferente de arg2.16
Estrutura básica dos scripts Bashshell – Comandos Condicionais#!/bin/bashecho “Digite seu nome”read NOMEif [ $NOME == “Andre” ]; thenecho“Nome Correto!”exit 0elseecho “O nome $NOME não esta correto”exit 1fiCódigo de saída17
Estrutura básica dos scripts Bashshell – Comandos CondicionaisAlém do comando if, o BASH aceita o comando case. Veja um exemplo:#!/bin/bashecho “Digite um animal:”read ANIMALecho -n “O $ANIMAL tem " case $ANIMAL in  cavalo | cachorro | gato) echo -n “quatro";;   homem | canguru ) echo -n "two";;  *) echo -n “um numero desconhecido de";; esacecho" patas." 18
Estrutura básica dos scripts Bashshell – Comandos de repetiçãoo BASH também aceita comandos de repetição como os comandos for ewhile. Exemplo de while:#!/bin/bashX=0;while [ $x –lt 10 ]; doecho “x = $X”let X = $X+1done19
Estrutura básica dos scripts Bashshell – Comandos de repetiçãoO comando for temalgumas peculiaridades pouco comuns em linguagens de programação.Exemplo de for:#!/bin/bashfor i in 1 2 3do  echo $idone20A cada iteração, o i assume um desses valores
Estrutura básica dos scripts Bashshell – Comandos de repetiçãoVariação do comando for:#!/bin/bashfor i in {1 .. 10}do  echo $idone21
Estrutura básica dos scripts Bashshell – Comandos de repetiçãoOutra variação do comando for:#!/bin/bashLIMITE=10for (( a=1; a<=LIMITE; a++))do  echo –n “$a ”done22
Exemplos de scripts mais elaboradosExemplo:Script para listar apenas os diretórios.#!/bin/bashecho "Script para listar apenas os diretorios"CONT=0for ARQ in *; do if [ -d $ARQ -a $ARQ != "." -a $ARQ != ".." ]; then   echo -e "\t$ARQ"   let CONT=$CONT+1; fidoneif [ $CONT -eq 0 ]; then echo "Nao foram encontrados diretorios" exit 1else echo "Foram listados $CONT diretorios" exit 0fi23

Mais conteúdo relacionado

PPTX
Tabela Hash
DOCX
NOTACIÓN POSTFIJA E INFIJA - JAVA
ODP
Shell Tips and Tricks for sysadmin
PPTX
Shell script i
PDF
D link dsl-2640 b - configurando em bridge
PPTX
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
PPTX
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
DOCX
Bomba de infusão
Tabela Hash
NOTACIÓN POSTFIJA E INFIJA - JAVA
Shell Tips and Tricks for sysadmin
Shell script i
D link dsl-2640 b - configurando em bridge
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
Bomba de infusão

Destaque (7)

PDF
Virtualização - Máquinas Virtuais
PPTX
Grupo de Estudos de Softwares Livres
ODP
Introducao ao Shell Script
PDF
Seminário - dispositivos de infusão
PPT
Injetáveis com segurança
PDF
Linux - Shell e Comandos Básicos
PPTX
Revolução chinesa.
Virtualização - Máquinas Virtuais
Grupo de Estudos de Softwares Livres
Introducao ao Shell Script
Seminário - dispositivos de infusão
Injetáveis com segurança
Linux - Shell e Comandos Básicos
Revolução chinesa.
Anúncio

Semelhante a Introdução ao bash (20)

PDF
Introdução ao shell script no linux
PDF
Minicurso Shell Script
ODP
Bash, o poder da linha de comando! - Tchelinux.org 2017
PDF
Curso Gratuito de Shell Script
PDF
Curso De Shell Aula 1
PPTX
Shell script
PDF
Shell scripts
PDF
Shell script
PDF
01 apostila-introducao-shell
PDF
Apostila introducao-shell
PDF
Shell script
PDF
Curso shell
PPS
Shell script
PDF
Curso de shell
PDF
Curso de shell
PDF
12 aula - shell script-2015
PDF
Shell Script
PDF
Tutorial Shell Script
PDF
Apostila introducao-shell
PDF
Introdução à Shell Script - Vinícius Alves Hax
Introdução ao shell script no linux
Minicurso Shell Script
Bash, o poder da linha de comando! - Tchelinux.org 2017
Curso Gratuito de Shell Script
Curso De Shell Aula 1
Shell script
Shell scripts
Shell script
01 apostila-introducao-shell
Apostila introducao-shell
Shell script
Curso shell
Shell script
Curso de shell
Curso de shell
12 aula - shell script-2015
Shell Script
Tutorial Shell Script
Apostila introducao-shell
Introdução à Shell Script - Vinícius Alves Hax
Anúncio

Introdução ao bash

  • 1. Introdução aos scripts em BASHProf. André Leon S. Gradvohl, Dr.andre.gradvohl@gmail.com
  • 2. Plano de apresentaçãoO que são shell scripts?Comandos básicos do LinuxEstruturas básicas do BASHComandos condicionaisComandos de repetiçãoExemplos de scripts mais elaborados2
  • 3. O que são Shell ScriptsShell scripts são pequenos programas escritos na linguagem do shell. Os shell scripts normalmente são usados para executar tarefas administrativas mais complexas, i. e., aquelas que envolvem dois ou mais comandos básicos.Os shells mais comuns são os seguintesBourneAgain Shell (/bin/bash)C Shell (/bin/csh)Turbo C Shell (/bin/tcsh)Korn Shell (/bin/ksh)3
  • 4. Comandos Básicos do LinuxcdMudança de DiretórioEx: cd /Ir para o diretório raizlsListar os arquivos e diretório do local correnteEx: lsVariaçõesls –als –l4
  • 5. Comandos Básicos do LinuxpwdMostra a localização atualEx: pwdmkdirCria um DiretórioEx: mkdiraula115
  • 6. Comandos Básicos do LinuxcatExibe o Conteúdo de um ArquivoEx: cat aula.txtEx: cat –n aula.txtcpCopia de arquivosEx: cp aula.txt aula2.txtEx: cp aula.txt /tmp6
  • 7. Comandos Básicos do LinuxdateExibe e altera a data e hora do computadorEx: dateEx: date +%d/%m/%YEx: date 1708203006Primeiro mês, dia, hora, anomvMover ou renomear arquivosEx: mv aula.txt aula3.txtEx: mv aula3.txt /aula/aula27
  • 8. Comandos Básicos do LinuxclearLimpar a telaEx: cleardfSaber a quantidade de disco ocupadaEx: df –HfreeVerificar a utilização da memória RAMEx: free -m8
  • 9. Comandos Básicos do Linuxrm ou rmdir apagar arquivos e diretóriosEx: rm aula2.txtEx: rm –d aula2manManual on-line dos comando do linuxEx: man dateEx: mancp9
  • 10. Estrutura básica dos scripts Bashshell#!/bin/bashecho “Ola Mundo!”Importante:O arquivo que contém o script precisa ter permissão para execução.Para tanto, é necessário executar o comando:chmod +x arquivo.sh10
  • 11. Estrutura básica dos scripts Bashshell – VariáveisAs variáveis nos shell scripts não têm tipo e são criadas dinamicamente.Exemplo: VAR1=1;NOME=“Ze”A atribuição de variáveis é feita com o operador =.Para acessar o conteúdo das variáveis, utiliza-se o operador $.11
  • 12. Estrutura básica dos scripts Bashshell - Leitura#!/bin/bashecho “Digite seu nome”read NOMEecho “Ola $NOME”12
  • 13. Estrutura básica dos scripts Bashshell – Comandos Condicionais#!/bin/bashecho “Digite o nome de um arquivo”read ARQif [ -e $ARQ ]; thenecho “$ARQ existe no diretorio atual”elseecho “$ARQ nao existe no diretorio atual”fi13
  • 14. Estrutura básica dos scripts Bashshell – Comandos CondicionaisObservações:O que aparece entre colchetes ([ ]) é o teste lógico que será feito.O teste entre colchetes pode aceitar as seguintes opções:-d arquivo: verdade se o arquivoexiste e é um diretório.-e arquivo: verdade se o arquivoexiste.-f arquivo: verdade se o arquivoexiste e é um arquivo regular.14
  • 15. Estrutura básica dos scripts Bashshell – Comandos CondicionaisO teste entre colchetes também funciona com argumentos numéricos:arg1 -eq arg2: verdade se o arg1 for igual a arg2.arg1 -ltarg2: verdade se arg1formenorquearg2.arg1 -gtarg2: verdade searg1for maiorquearg2.arg1 -ne arg2: verdade searg1não for igual a arg2.arg1 -le arg2: verdade se arg1arg2.arg1 -gt arg2: verdade searg1 arg2.arg1 -ne arg2: verdade searg1≠ arg2.15
  • 16. Estrutura básica dos scripts Bashshell – Comandos CondicionaisPara strings, os comandos são os seguintes:arg1 == arg2: verdade se o arg1 for igual a arg2.arg1 != arg2: verdade se arg1fordiferente de arg2.16
  • 17. Estrutura básica dos scripts Bashshell – Comandos Condicionais#!/bin/bashecho “Digite seu nome”read NOMEif [ $NOME == “Andre” ]; thenecho“Nome Correto!”exit 0elseecho “O nome $NOME não esta correto”exit 1fiCódigo de saída17
  • 18. Estrutura básica dos scripts Bashshell – Comandos CondicionaisAlém do comando if, o BASH aceita o comando case. Veja um exemplo:#!/bin/bashecho “Digite um animal:”read ANIMALecho -n “O $ANIMAL tem " case $ANIMAL in cavalo | cachorro | gato) echo -n “quatro";; homem | canguru ) echo -n "two";; *) echo -n “um numero desconhecido de";; esacecho" patas." 18
  • 19. Estrutura básica dos scripts Bashshell – Comandos de repetiçãoo BASH também aceita comandos de repetição como os comandos for ewhile. Exemplo de while:#!/bin/bashX=0;while [ $x –lt 10 ]; doecho “x = $X”let X = $X+1done19
  • 20. Estrutura básica dos scripts Bashshell – Comandos de repetiçãoO comando for temalgumas peculiaridades pouco comuns em linguagens de programação.Exemplo de for:#!/bin/bashfor i in 1 2 3do echo $idone20A cada iteração, o i assume um desses valores
  • 21. Estrutura básica dos scripts Bashshell – Comandos de repetiçãoVariação do comando for:#!/bin/bashfor i in {1 .. 10}do echo $idone21
  • 22. Estrutura básica dos scripts Bashshell – Comandos de repetiçãoOutra variação do comando for:#!/bin/bashLIMITE=10for (( a=1; a<=LIMITE; a++))do echo –n “$a ”done22
  • 23. Exemplos de scripts mais elaboradosExemplo:Script para listar apenas os diretórios.#!/bin/bashecho "Script para listar apenas os diretorios"CONT=0for ARQ in *; do if [ -d $ARQ -a $ARQ != "." -a $ARQ != ".." ]; then   echo -e "\t$ARQ"   let CONT=$CONT+1; fidoneif [ $CONT -eq 0 ]; then echo "Nao foram encontrados diretorios" exit 1else echo "Foram listados $CONT diretorios" exit 0fi23