SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Introdução aos scripts em BASH Prof. André Leon S. Gradvohl, Dr. andre.gradvohl@gmail.com
Plano de apresentação O que são shell scripts? Comandos básicos do Linux Estruturas básicas do BASH Comandos condicionais Comandos de repetição Exemplos de scripts mais elaborados 2
O que são Shell Scripts Shell 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 seguintes BourneAgain Shell (/bin/bash) C Shell (/bin/csh) Turbo C Shell (/bin/tcsh) Korn Shell (/bin/ksh) 3
Comandos Básicos do Linux cd Mudança de Diretório Ex: cd / Ir para o diretório raiz ls Listar os arquivos e diretório do local corrente Ex: ls Variações ls –a ls –l 4
Comandos Básicos do Linux pwd Mostra a localização atual Ex: pwd mkdir Cria um Diretório Ex: mkdiraula11 5
Comandos Básicos do Linux cat Exibe o Conteúdo de um Arquivo Ex: cat aula.txt Ex: cat –n aula.txt cp Copia de arquivos Ex: cp aula.txt aula2.txt Ex: cp aula.txt /tmp 6
Comandos Básicos do Linux date Exibe e altera a data e hora do computador Ex: date Ex: date +%d/%m/%Y Ex: date 1708203006 Primeiro mês, dia, hora, ano mv Mover ou renomear arquivos Ex: mv aula.txt aula3.txt Ex: mv aula3.txt /aula/aula2 7
Comandos Básicos do Linux clear Limpar a tela Ex: clear df Saber a quantidade de disco ocupada Ex: df –H free Verificar a utilização da memória RAM Ex: free -m 8
Comandos Básicos do Linux rm ou rmdir  apagar arquivos e diretórios Ex: rm aula2.txt Ex: rm –d aula2 man Manual on-line dos comando do linux Ex: man date Ex: mancp 9
Estrutura básica dos scripts Bashshell #!/bin/bash echo “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.sh 10
Estrutura básica dos scripts Bashshell – Variáveis As 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/bash echo “Digite seu nome” read NOME echo “Ola $NOME” 12
Estrutura básica dos scripts Bashshell – Comandos Condicionais #!/bin/bash echo “Digite o nome de um arquivo” read ARQ if [ -e $ARQ ]; then echo “$ARQ existe no diretorio atual” else echo “$ARQ nao existe no diretorio atual” fi 13
Estrutura básica dos scripts Bashshell – Comandos Condicionais Observaçõ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 Condicionais O 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 Condicionais Para 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/bash echo “Digite seu nome” read NOME if [ $NOME == “Andre” ]; then echo“Nome Correto!” exit 0 else echo “O nome $NOME não esta correto” exit 1 fi Código de saída 17
Estrutura básica dos scripts Bashshell – Comandos Condicionais Além do comando if, o BASH aceita o comando case. Veja um exemplo: #!/bin/bash echo “Digite um animal:” read ANIMAL echo -n “O $ANIMAL tem "  case $ANIMAL in   cavalo | cachorro | gato) echo -n “quatro";;    homem | canguru ) echo -n "two";;   *) echo -n “um numero desconhecido de";;  esac echo" patas."  18
Estrutura básica dos scripts Bashshell – Comandos de repetição o BASH também aceita comandos de repetição como os comandos for ewhile.  Exemplo de while: #!/bin/bash X=0; while [ $x –lt 10 ]; do echo “x = $X” let X = $X+1 done 19
Estrutura básica dos scripts Bashshell – Comandos de repetição O comando for temalgumas peculiaridades pouco comuns em linguagens de programação. Exemplo de for: #!/bin/bash for i in 1 2 3 do   echo $i done 20 A cada iteração, o i assume um desses valores
Estrutura básica dos scripts Bashshell – Comandos de repetição Variação do comando for: #!/bin/bash for i in {1 .. 10} do   echo $i done 21
Estrutura básica dos scripts Bashshell – Comandos de repetição Outra variação do comando for: #!/bin/bash LIMITE=10 for (( a=1; a<=LIMITE; a++)) do   echo –n “$a ” done 22
Exemplos de scripts mais elaborados Exemplo: 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 "$ARQ"   let CONT=$CONT+1; fidoneif [ $CONT -eq 0 ]; then echo "Nao foram encontrados diretorios" exit 1else echo "Foram listados $CONT diretorios" exit 0fi 23

Weitere ähnliche Inhalte

Was ist angesagt? (20)

Curso Gratuito de Shell Script
Curso Gratuito de Shell ScriptCurso Gratuito de Shell Script
Curso Gratuito de Shell Script
 
Tutorial Shell Script
Tutorial Shell ScriptTutorial Shell Script
Tutorial Shell Script
 
Introducao ao Shell Script
Introducao ao Shell ScriptIntroducao ao Shell Script
Introducao ao Shell Script
 
Minicurso Shell Script
Minicurso Shell ScriptMinicurso Shell Script
Minicurso Shell Script
 
Shell Script - Controle de fluxo
Shell Script - Controle de fluxoShell Script - Controle de fluxo
Shell Script - Controle de fluxo
 
Sapo sessions linux power tools
Sapo sessions linux power toolsSapo sessions linux power tools
Sapo sessions linux power tools
 
Stack based overflow
Stack based overflowStack based overflow
Stack based overflow
 
Linux shell
Linux shellLinux shell
Linux shell
 
Aprofunde se no php 5.3
Aprofunde se no php 5.3Aprofunde se no php 5.3
Aprofunde se no php 5.3
 
Manual comandos
Manual comandosManual comandos
Manual comandos
 
Curso gratuitoshellscript nivel-2
Curso gratuitoshellscript nivel-2Curso gratuitoshellscript nivel-2
Curso gratuitoshellscript nivel-2
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos Básicos
 
Automatizando tarefas com bash script
Automatizando tarefas com bash scriptAutomatizando tarefas com bash script
Automatizando tarefas com bash script
 
Sistemas operacionais de rede exercicio de sala
Sistemas operacionais de rede exercicio de salaSistemas operacionais de rede exercicio de sala
Sistemas operacionais de rede exercicio de sala
 
Personalizando o ambiente do usuário
Personalizando o ambiente do usuárioPersonalizando o ambiente do usuário
Personalizando o ambiente do usuário
 
Scatole Nere
Scatole NereScatole Nere
Scatole Nere
 
O Que é Shell (bash)
O Que é Shell (bash)O Que é Shell (bash)
O Que é Shell (bash)
 
Apache proxy
Apache proxyApache proxy
Apache proxy
 
shell bash Fpar aula6
shell bash Fpar aula6shell bash Fpar aula6
shell bash Fpar aula6
 
Programação em bat
Programação em batProgramação em bat
Programação em bat
 

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
 
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 ...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 ...André Leon S. Gradvohl
 
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 ...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 ...André Leon S. Gradvohl
 
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
 

Andere mochten auch (11)

Shell Tips and Tricks for sysadmin
Shell Tips and Tricks for sysadminShell Tips and Tricks for sysadmin
Shell Tips and Tricks for sysadmin
 
Shell script i
Shell script iShell script i
Shell script i
 
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 aos sistemas distribuídos on-line para processamento de fluxos de ...
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 ...
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 ...
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 ...
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
 
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
 
Grupo de Estudos de Softwares Livres
Grupo de Estudos de Softwares LivresGrupo de Estudos de Softwares Livres
Grupo de Estudos de Softwares Livres
 
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
 
Revolução chinesa.
Revolução chinesa.Revolução chinesa.
Revolução chinesa.
 

Ähnlich wie Introdução ao bash

Curso De Shell Aula 1
Curso De Shell   Aula 1Curso De Shell   Aula 1
Curso De Shell Aula 1Felipe Santos
 
Curso de shell
Curso de shellCurso de shell
Curso de shellTiago
 
Curso de shell
Curso de shellCurso de shell
Curso de shellTiago
 
Oficina shell
Oficina shellOficina shell
Oficina shellapsegundo
 
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
 
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
 
Lab so-abertos-unidade15
Lab so-abertos-unidade15Lab so-abertos-unidade15
Lab so-abertos-unidade15Leandro Almeida
 
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
 

Ähnlich wie Introdução ao bash (20)

Shell Script
Shell ScriptShell Script
Shell Script
 
Curso De Shell Aula 1
Curso De Shell   Aula 1Curso De Shell   Aula 1
Curso De Shell Aula 1
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 
Shell scripts
Shell scriptsShell scripts
Shell scripts
 
Shell Script v0
Shell Script v0Shell Script v0
Shell Script v0
 
Curso shell
Curso shellCurso shell
Curso shell
 
Fpar aula5
Fpar aula5Fpar aula5
Fpar aula5
 
Oficina shell
Oficina shellOficina shell
Oficina shell
 
Introdução Linux
Introdução LinuxIntrodução Linux
Introdução Linux
 
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
 
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
 
Shell Script
Shell ScriptShell Script
Shell Script
 
Unidade 3.6 Introdução ao Shell
Unidade 3.6 Introdução ao ShellUnidade 3.6 Introdução ao Shell
Unidade 3.6 Introdução ao Shell
 
Shell Script
Shell ScriptShell Script
Shell Script
 
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
 
Lab so-abertos-unidade15
Lab so-abertos-unidade15Lab so-abertos-unidade15
Lab so-abertos-unidade15
 
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
 
Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1
 

Introdução ao bash

  • 1. Introdução aos scripts em BASH Prof. André Leon S. Gradvohl, Dr. andre.gradvohl@gmail.com
  • 2. Plano de apresentação O que são shell scripts? Comandos básicos do Linux Estruturas básicas do BASH Comandos condicionais Comandos de repetição Exemplos de scripts mais elaborados 2
  • 3. O que são Shell Scripts Shell 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 seguintes BourneAgain Shell (/bin/bash) C Shell (/bin/csh) Turbo C Shell (/bin/tcsh) Korn Shell (/bin/ksh) 3
  • 4. Comandos Básicos do Linux cd Mudança de Diretório Ex: cd / Ir para o diretório raiz ls Listar os arquivos e diretório do local corrente Ex: ls Variações ls –a ls –l 4
  • 5. Comandos Básicos do Linux pwd Mostra a localização atual Ex: pwd mkdir Cria um Diretório Ex: mkdiraula11 5
  • 6. Comandos Básicos do Linux cat Exibe o Conteúdo de um Arquivo Ex: cat aula.txt Ex: cat –n aula.txt cp Copia de arquivos Ex: cp aula.txt aula2.txt Ex: cp aula.txt /tmp 6
  • 7. Comandos Básicos do Linux date Exibe e altera a data e hora do computador Ex: date Ex: date +%d/%m/%Y Ex: date 1708203006 Primeiro mês, dia, hora, ano mv Mover ou renomear arquivos Ex: mv aula.txt aula3.txt Ex: mv aula3.txt /aula/aula2 7
  • 8. Comandos Básicos do Linux clear Limpar a tela Ex: clear df Saber a quantidade de disco ocupada Ex: df –H free Verificar a utilização da memória RAM Ex: free -m 8
  • 9. Comandos Básicos do Linux rm ou rmdir apagar arquivos e diretórios Ex: rm aula2.txt Ex: rm –d aula2 man Manual on-line dos comando do linux Ex: man date Ex: mancp 9
  • 10. Estrutura básica dos scripts Bashshell #!/bin/bash echo “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.sh 10
  • 11. Estrutura básica dos scripts Bashshell – Variáveis As 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/bash echo “Digite seu nome” read NOME echo “Ola $NOME” 12
  • 13. Estrutura básica dos scripts Bashshell – Comandos Condicionais #!/bin/bash echo “Digite o nome de um arquivo” read ARQ if [ -e $ARQ ]; then echo “$ARQ existe no diretorio atual” else echo “$ARQ nao existe no diretorio atual” fi 13
  • 14. Estrutura básica dos scripts Bashshell – Comandos Condicionais Observaçõ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 Condicionais O 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 Condicionais Para 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/bash echo “Digite seu nome” read NOME if [ $NOME == “Andre” ]; then echo“Nome Correto!” exit 0 else echo “O nome $NOME não esta correto” exit 1 fi Código de saída 17
  • 18. Estrutura básica dos scripts Bashshell – Comandos Condicionais Além do comando if, o BASH aceita o comando case. Veja um exemplo: #!/bin/bash echo “Digite um animal:” read ANIMAL echo -n “O $ANIMAL tem " case $ANIMAL in cavalo | cachorro | gato) echo -n “quatro";; homem | canguru ) echo -n "two";; *) echo -n “um numero desconhecido de";; esac echo" patas." 18
  • 19. Estrutura básica dos scripts Bashshell – Comandos de repetição o BASH também aceita comandos de repetição como os comandos for ewhile. Exemplo de while: #!/bin/bash X=0; while [ $x –lt 10 ]; do echo “x = $X” let X = $X+1 done 19
  • 20. Estrutura básica dos scripts Bashshell – Comandos de repetição O comando for temalgumas peculiaridades pouco comuns em linguagens de programação. Exemplo de for: #!/bin/bash for i in 1 2 3 do echo $i done 20 A cada iteração, o i assume um desses valores
  • 21. Estrutura básica dos scripts Bashshell – Comandos de repetição Variação do comando for: #!/bin/bash for i in {1 .. 10} do echo $i done 21
  • 22. Estrutura básica dos scripts Bashshell – Comandos de repetição Outra variação do comando for: #!/bin/bash LIMITE=10 for (( a=1; a<=LIMITE; a++)) do echo –n “$a ” done 22
  • 23. Exemplos de scripts mais elaborados Exemplo: 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 "$ARQ"   let CONT=$CONT+1; fidoneif [ $CONT -eq 0 ]; then echo "Nao foram encontrados diretorios" exit 1else echo "Foram listados $CONT diretorios" exit 0fi 23