SlideShare uma empresa Scribd logo
1 de 14
Shell Script Carlos Melo
Passos para criar um shell script 1. Escolher um nome para o script Já temos um nome: sistema. Use apenas letras minúsculas e evite acentos, símbolos e espaço em branco 2. Escolher o diretório onde colocar o script Para que o script possa ser executado de qualquer parte do sistema, mova-o para um diretório que esteja no seu PATH. Para ver quais são estes diretórios, use o comando: echo $PATH Se não tiver permissão de mover para um diretório do PATH, deixe-o dentro deseu diretório pessoal ($HOME).
3. Criar o arquivo e colocar nele os comandos Use o nano, VI ou outro editor de textos de sua preferência para colocar todos os comandos dentro do arquivo. 4. Colocar a chamada do shell na primeira linha A primeira linha do script deve ser: #!/bin/bash Para que ao ser executado, o sistema saiba que é o shell quem irá interpretar estes comandos. 5. Tornar o script um arquivo executável Use o seguinte comando para que seu script seja reconhecido pelo sistema como um comando executável: chmod +x sistema
Melhorar a saída na tela 		Executar os três comandos seguidos resulta em um bolo de texto na tela, misturando as informações e dificultando o entendimento. É preciso trabalhar um pouco a saída do script, tornando-a mais legível. 		O comando "echo" serve para mostrar mensagens na tela. Que tal anunciar cada comando antes de executá-lo? #!/bin/bash echo "Data e Horário:" date echo echo "Uso do disco:" df echo echo "Usuários conectados:" w Para usar o echo, basta colocar o texto entre "aspas". Se nenhum texto for colocado, uma linha em branco é mostrada
Interagir com o usuário 		Para o script ficar mais completo, vamos colocar uma interação mínima com o usuário, pedindo uma confirmação antes de executar os comandos. #!/bin/bash echo "Vou buscar os dados do sistema. Posso continuar? [sn] " read RESPOSTA test "$RESPOSTA" = "n" && exit echo "Data e Horário:" date echo echo "Uso do disco:" df echo echo "Usuários conectados:" w 		O comando "read" leu o que o usuário digitou e guardou na variável RESPOSTA. Logo em seguida, o comando "test" verificou se o conteúdo dessa variável era "n"
Variáveis 		As variáveis são a base de qualquer script. É dentro delas que os dados obtidos durante a execução do script serão armazenados. Para definir uma variável, basta usar o sinal de igual "=" e para ver seu valor, usa-se o "echo": prompt$ VARIAVEL="um dois tres" prompt$ echo $VARIAVEL um dois tres prompt$ echo $VARIAVEL $VARIAVEL um dois tres um dois tres prompt$
Expressões aritméticas O shell também sabe fazer contas. A construção usada para indicar uma expressão aritmética é "$((...))", com dois parênteses. prompt$ echo $((2*3)) 6 prompt$ echo $((2*3-2/2+3)) 8 prompt$ NUM=44 prompt$ echo $((NUM*2)) 88 prompt$ NUM=$((NUM+1)) prompt$ echo $NUM 45
Comandos
Comando if if [ -e $linux ]  then echo 'A variável $linux existe.'  else echo 'A variável $linux não existe.'  fi
Comando if 		A expressão será avaliada pelo comando test, que pode ser representado por “[]”, o resulta será passado para o comando “if”, como “true” ou “false”.
Exemplos: if [ $var = "M" ]; then echo -n “Você clicou m “;fi if test $1 -gt 0	then		echo "$1 number is positive"	else		echo "$1 number is negative"fi
If, for e while
Exemplo Fazendo for percorrer uma lista de palavras, pegando uma por vez: for numero in um dois três quatro cinco do echo "Contando: $numero" done Uma ferramenta muito útil para usar com o for é o seq, que gera uma seqüência numérica. Para fazer o loop andar 10 passos, pode-se fazer: 	    for passo in $(seq 10) O mesmo pode ser feito com o while, usando um contador: 	     i=0 	    while test $i -le 10 	     do 	      i=$((i+1))               echo "Contando: $i" done E temos ainda o loop infinito, com condicional de saída usando o "break¨: while : do if test -f /tmp/lock then echo "Aguardando liberação do lock..." sleep 1 else break fi done
Alguns comandos

Mais conteúdo relacionado

Mais procurados

Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell scriptbrunobione
 
Minicurso Shell Script
Minicurso Shell ScriptMinicurso Shell Script
Minicurso Shell ScriptLuís Eduardo
 
12 aula - shell script-2015
12   aula - shell script-201512   aula - shell script-2015
12 aula - shell script-2015Flávia Santos
 
Apostila manual completo - windows-script-host
Apostila   manual completo - windows-script-hostApostila   manual completo - windows-script-host
Apostila manual completo - windows-script-hostRogerio Pereira
 
Primeiros passos no terminal (TcheLinux UCPEL 2012)
Primeiros passos no terminal (TcheLinux UCPEL 2012)Primeiros passos no terminal (TcheLinux UCPEL 2012)
Primeiros passos no terminal (TcheLinux UCPEL 2012)rafaeldelete
 
Shell Scripting
Shell ScriptingShell Scripting
Shell Scriptingdcarneir
 
Aula6 Cont
Aula6 ContAula6 Cont
Aula6 Contwillians
 
Alguns Comandos para Linux Mint
Alguns Comandos para Linux MintAlguns Comandos para Linux Mint
Alguns Comandos para Linux MintIgor Domingos
 
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
 
Linux comandos gerais e servidores de rede
Linux   comandos gerais e servidores de redeLinux   comandos gerais e servidores de rede
Linux comandos gerais e servidores de redefernandao777
 
Curso de shell
Curso de shellCurso de shell
Curso de shellTiago
 
Programação em Shell Script
Programação em Shell ScriptProgramação em Shell Script
Programação em Shell ScriptReinaldo Lima
 
Redirecionamento, pipes e processos linux
Redirecionamento, pipes e processos   linuxRedirecionamento, pipes e processos   linux
Redirecionamento, pipes e processos linuxFábio dos Reis
 

Mais procurados (20)

Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell script
 
Shell Script v0
Shell Script v0Shell Script v0
Shell Script v0
 
Curso gratuitoshellscript nivel-2
Curso gratuitoshellscript nivel-2Curso gratuitoshellscript nivel-2
Curso gratuitoshellscript nivel-2
 
Minicurso Shell Script
Minicurso Shell ScriptMinicurso Shell Script
Minicurso Shell Script
 
12 aula - shell script-2015
12   aula - shell script-201512   aula - shell script-2015
12 aula - shell script-2015
 
Shell Script
Shell ScriptShell Script
Shell Script
 
Curso shell
Curso shellCurso shell
Curso shell
 
Apostila manual completo - windows-script-host
Apostila   manual completo - windows-script-hostApostila   manual completo - windows-script-host
Apostila manual completo - windows-script-host
 
Comandos linux
Comandos linux Comandos linux
Comandos linux
 
Primeiros passos no terminal (TcheLinux UCPEL 2012)
Primeiros passos no terminal (TcheLinux UCPEL 2012)Primeiros passos no terminal (TcheLinux UCPEL 2012)
Primeiros passos no terminal (TcheLinux UCPEL 2012)
 
Shell Scripting
Shell ScriptingShell Scripting
Shell Scripting
 
01 notações iniciais
01   notações iniciais01   notações iniciais
01 notações iniciais
 
Aula6 Cont
Aula6 ContAula6 Cont
Aula6 Cont
 
Alguns Comandos para Linux Mint
Alguns Comandos para Linux MintAlguns Comandos para Linux Mint
Alguns Comandos para Linux Mint
 
Shell Script
Shell ScriptShell Script
Shell Script
 
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
 
Linux comandos gerais e servidores de rede
Linux   comandos gerais e servidores de redeLinux   comandos gerais e servidores de rede
Linux comandos gerais e servidores de rede
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 
Programação em Shell Script
Programação em Shell ScriptProgramação em Shell Script
Programação em Shell Script
 
Redirecionamento, pipes e processos linux
Redirecionamento, pipes e processos   linuxRedirecionamento, pipes e processos   linux
Redirecionamento, pipes e processos linux
 

Semelhante a Criar shell script em

01 apostila-introducao-shell
01   apostila-introducao-shell01   apostila-introducao-shell
01 apostila-introducao-shellvinicius caldeira
 
44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batchMarcio Pereira
 
Manual comandos
Manual comandosManual comandos
Manual comandosPaulo Rijo
 
Curso de ShellScript - Lm06 shellscript6
Curso de ShellScript - Lm06 shellscript6Curso de ShellScript - Lm06 shellscript6
Curso de ShellScript - Lm06 shellscript6Pessoal
 
Slide curso metasploit
Slide curso metasploitSlide curso metasploit
Slide curso metasploitRoberto Soares
 
Php women oficina iniciante de php
Php women   oficina iniciante de phpPhp women   oficina iniciante de php
Php women oficina iniciante de phpTais Reis
 
Curso de ShellScript - Lm05 shellscript5
Curso de ShellScript - Lm05 shellscript5Curso de ShellScript - Lm05 shellscript5
Curso de ShellScript - Lm05 shellscript5Pessoal
 
Apostila introducao-shell
Apostila introducao-shellApostila introducao-shell
Apostila introducao-shellMarcio Pereira
 
Manual-de-php
Manual-de-phpManual-de-php
Manual-de-phpdiogoa21
 
O Que é shell - bash
O Que é shell - bashO Que é shell - bash
O Que é shell - bashSérgio Silva
 
Shell Script - Controle de fluxo
Shell Script - Controle de fluxoShell Script - Controle de fluxo
Shell Script - Controle de fluxoFrederico Madeira
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básicoCezar Souza
 
PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7Silvano Oliveira
 

Semelhante a Criar shell script em (20)

Shell scripts
Shell scriptsShell scripts
Shell scripts
 
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 bash Fpar aula6
shell bash Fpar aula6shell bash Fpar aula6
shell bash Fpar aula6
 
Linux shell
Linux shellLinux shell
Linux shell
 
44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch
 
Manual comandos
Manual comandosManual comandos
Manual comandos
 
Curso de ShellScript - Lm06 shellscript6
Curso de ShellScript - Lm06 shellscript6Curso de ShellScript - Lm06 shellscript6
Curso de ShellScript - Lm06 shellscript6
 
Aula3
Aula3Aula3
Aula3
 
Slide curso metasploit
Slide curso metasploitSlide curso metasploit
Slide curso metasploit
 
Php women oficina iniciante de php
Php women   oficina iniciante de phpPhp women   oficina iniciante de php
Php women oficina iniciante de php
 
Curso de ShellScript - Lm05 shellscript5
Curso de ShellScript - Lm05 shellscript5Curso de ShellScript - Lm05 shellscript5
Curso de ShellScript - Lm05 shellscript5
 
Apostila introducao-shell
Apostila introducao-shellApostila introducao-shell
Apostila introducao-shell
 
Manual-de-php
Manual-de-phpManual-de-php
Manual-de-php
 
Shell script
Shell script Shell script
Shell script
 
O Que é shell - bash
O Que é shell - bashO Que é shell - bash
O Que é shell - bash
 
Shell Script - Controle de fluxo
Shell Script - Controle de fluxoShell Script - Controle de fluxo
Shell Script - Controle de fluxo
 
Fpar aula5
Fpar aula5Fpar aula5
Fpar aula5
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básico
 
PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7
 

Mais de Carlos Melo

Gestão de projetos introduçao
Gestão de projetos introduçaoGestão de projetos introduçao
Gestão de projetos introduçaoCarlos Melo
 
Roteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tardeRoteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tardeCarlos Melo
 
5a.aulacapacitor
5a.aulacapacitor5a.aulacapacitor
5a.aulacapacitorCarlos Melo
 
Atividade final acionamentos
Atividade final   acionamentosAtividade final   acionamentos
Atividade final acionamentosCarlos Melo
 
Questões clp-automação
Questões clp-automaçãoQuestões clp-automação
Questões clp-automaçãoCarlos Melo
 
Apresentação12
Apresentação12Apresentação12
Apresentação12Carlos Melo
 
Gestão da manutenção os 2
Gestão da manutenção os 2Gestão da manutenção os 2
Gestão da manutenção os 2Carlos Melo
 
Gestão da manutenção os 1
Gestão da manutenção os 1Gestão da manutenção os 1
Gestão da manutenção os 1Carlos Melo
 
Desenho técnico cap1
Desenho técnico   cap1Desenho técnico   cap1
Desenho técnico cap1Carlos Melo
 
Eletrônica básica
Eletrônica básicaEletrônica básica
Eletrônica básicaCarlos Melo
 
Analise de circuito indutores
Analise de circuito   indutoresAnalise de circuito   indutores
Analise de circuito indutoresCarlos Melo
 
Notas ete jags - destec
Notas ete   jags - destecNotas ete   jags - destec
Notas ete jags - destecCarlos Melo
 
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12Carlos Melo
 
Recuperação descrição
Recuperação   descriçãoRecuperação   descrição
Recuperação descriçãoCarlos Melo
 
Ete projetos elétricos 2
Ete projetos elétricos 2Ete projetos elétricos 2
Ete projetos elétricos 2Carlos Melo
 

Mais de Carlos Melo (20)

Treinamento 1
Treinamento 1Treinamento 1
Treinamento 1
 
Zener
ZenerZener
Zener
 
Gestão de projetos introduçao
Gestão de projetos introduçaoGestão de projetos introduçao
Gestão de projetos introduçao
 
Capacitancia
CapacitanciaCapacitancia
Capacitancia
 
Roteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tardeRoteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tarde
 
5a.aulacapacitor
5a.aulacapacitor5a.aulacapacitor
5a.aulacapacitor
 
Atividade final acionamentos
Atividade final   acionamentosAtividade final   acionamentos
Atividade final acionamentos
 
Questões clp-automação
Questões clp-automaçãoQuestões clp-automação
Questões clp-automação
 
Apresentação12
Apresentação12Apresentação12
Apresentação12
 
Pneumática
PneumáticaPneumática
Pneumática
 
Gestão da manutenção os 2
Gestão da manutenção os 2Gestão da manutenção os 2
Gestão da manutenção os 2
 
Gestão da manutenção os 1
Gestão da manutenção os 1Gestão da manutenção os 1
Gestão da manutenção os 1
 
Desenho técnico cap1
Desenho técnico   cap1Desenho técnico   cap1
Desenho técnico cap1
 
Eletrônica básica
Eletrônica básicaEletrônica básica
Eletrônica básica
 
Analise de circuito indutores
Analise de circuito   indutoresAnalise de circuito   indutores
Analise de circuito indutores
 
Notas ete jags - destec
Notas ete   jags - destecNotas ete   jags - destec
Notas ete jags - destec
 
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
 
Recuperação descrição
Recuperação   descriçãoRecuperação   descrição
Recuperação descrição
 
Recuperação 1
Recuperação 1Recuperação 1
Recuperação 1
 
Ete projetos elétricos 2
Ete projetos elétricos 2Ete projetos elétricos 2
Ete projetos elétricos 2
 

Criar shell script em

  • 2. Passos para criar um shell script 1. Escolher um nome para o script Já temos um nome: sistema. Use apenas letras minúsculas e evite acentos, símbolos e espaço em branco 2. Escolher o diretório onde colocar o script Para que o script possa ser executado de qualquer parte do sistema, mova-o para um diretório que esteja no seu PATH. Para ver quais são estes diretórios, use o comando: echo $PATH Se não tiver permissão de mover para um diretório do PATH, deixe-o dentro deseu diretório pessoal ($HOME).
  • 3. 3. Criar o arquivo e colocar nele os comandos Use o nano, VI ou outro editor de textos de sua preferência para colocar todos os comandos dentro do arquivo. 4. Colocar a chamada do shell na primeira linha A primeira linha do script deve ser: #!/bin/bash Para que ao ser executado, o sistema saiba que é o shell quem irá interpretar estes comandos. 5. Tornar o script um arquivo executável Use o seguinte comando para que seu script seja reconhecido pelo sistema como um comando executável: chmod +x sistema
  • 4. Melhorar a saída na tela Executar os três comandos seguidos resulta em um bolo de texto na tela, misturando as informações e dificultando o entendimento. É preciso trabalhar um pouco a saída do script, tornando-a mais legível. O comando "echo" serve para mostrar mensagens na tela. Que tal anunciar cada comando antes de executá-lo? #!/bin/bash echo "Data e Horário:" date echo echo "Uso do disco:" df echo echo "Usuários conectados:" w Para usar o echo, basta colocar o texto entre "aspas". Se nenhum texto for colocado, uma linha em branco é mostrada
  • 5. Interagir com o usuário Para o script ficar mais completo, vamos colocar uma interação mínima com o usuário, pedindo uma confirmação antes de executar os comandos. #!/bin/bash echo "Vou buscar os dados do sistema. Posso continuar? [sn] " read RESPOSTA test "$RESPOSTA" = "n" && exit echo "Data e Horário:" date echo echo "Uso do disco:" df echo echo "Usuários conectados:" w O comando "read" leu o que o usuário digitou e guardou na variável RESPOSTA. Logo em seguida, o comando "test" verificou se o conteúdo dessa variável era "n"
  • 6. Variáveis As variáveis são a base de qualquer script. É dentro delas que os dados obtidos durante a execução do script serão armazenados. Para definir uma variável, basta usar o sinal de igual "=" e para ver seu valor, usa-se o "echo": prompt$ VARIAVEL="um dois tres" prompt$ echo $VARIAVEL um dois tres prompt$ echo $VARIAVEL $VARIAVEL um dois tres um dois tres prompt$
  • 7. Expressões aritméticas O shell também sabe fazer contas. A construção usada para indicar uma expressão aritmética é "$((...))", com dois parênteses. prompt$ echo $((2*3)) 6 prompt$ echo $((2*3-2/2+3)) 8 prompt$ NUM=44 prompt$ echo $((NUM*2)) 88 prompt$ NUM=$((NUM+1)) prompt$ echo $NUM 45
  • 9. Comando if if [ -e $linux ] then echo 'A variável $linux existe.' else echo 'A variável $linux não existe.' fi
  • 10. Comando if A expressão será avaliada pelo comando test, que pode ser representado por “[]”, o resulta será passado para o comando “if”, como “true” ou “false”.
  • 11. Exemplos: if [ $var = "M" ]; then echo -n “Você clicou m “;fi if test $1 -gt 0 then echo "$1 number is positive" else echo "$1 number is negative"fi
  • 12. If, for e while
  • 13. Exemplo Fazendo for percorrer uma lista de palavras, pegando uma por vez: for numero in um dois três quatro cinco do echo "Contando: $numero" done Uma ferramenta muito útil para usar com o for é o seq, que gera uma seqüência numérica. Para fazer o loop andar 10 passos, pode-se fazer: for passo in $(seq 10) O mesmo pode ser feito com o while, usando um contador: i=0 while test $i -le 10 do i=$((i+1)) echo "Contando: $i" done E temos ainda o loop infinito, com condicional de saída usando o "break¨: while : do if test -f /tmp/lock then echo "Aguardando liberação do lock..." sleep 1 else break fi done