Introducao ao Shell Script
Upcoming SlideShare
Loading in...5
×
 

Introducao ao Shell Script

on

  • 2,091 views

O shell é o prompt da linha de comando do Unix e do Linux, que recebe e executa comandos digitados pelo usuário. Na linha de comando, podemos utilizar diversos comandos um após o outro. Se ...

O shell é o prompt da linha de comando do Unix e do Linux, que recebe e executa comandos digitados pelo usuário. Na linha de comando, podemos utilizar diversos comandos um após o outro. Se colocarmos diversas linhas de comandos em um arquivo texto, teremos um script em shell ou, um Shell Script. Além de comandos, um Shell Script pode conter todas as estruturas de uma linguagem de programação, como if, for, while, variáveis e funções.

Nesse minicurso veremos como automatizar tarefas usando Shell Script e conheceremos um pouco mais sobre alguns dos comandos mais úteis para serem utilizados tanto nos scripts quanto diretamente pela linha de comando.

Statistics

Views

Total Views
2,091
Views on SlideShare
2,077
Embed Views
14

Actions

Likes
2
Downloads
42
Comments
0

1 Embed 14

http://scti.uenf.br 14

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introducao ao Shell Script Introducao ao Shell Script Presentation Transcript

  • Introdução ao Shell Script Hugo Maia Vieira @hugomaiavieira novembro de 2011 Esta obra é licenciada sob uma licença Creative Commons
  • ¿O que é shell? ¿O que é script? ¿O que é Shell Script? scripts em shell == Shell Scritp ==
  • O Shell, terminal, prompt, linha de comando
  • chmod + x arquivo Localização do interpretador: hashbang¹ (#!) Scripts executáveis (Unix) #!/bin/sh #!/usr/bin/env sh ou ¹ http://en.wikipedia.org/wiki/Shebang_(Unix)
  • $ VARIAVEL='bla bla bla' $ echo $VARIAVEL bla bla bla Variáveis + Não pode haver espaços ao redor do igual + O comando unset apaga a variável + É possível armazenar a saída de um comando usando o $( ... ) : $ DATA=$(date +%x) $ echo $DATA 09-11-2011
  • $ echo $((5*8)) 40 $ SOMA=$((2+5+1)) $ echo $SOMA 8 $ RESPOTA=$((SOMA*2)) $ echo $RESPOSTA 16 Expressões aritméticas + A construção utilizada para indicar uma expressão aritmética É $(( ... )) . Sim, com 2 parênteses!
  • $ test EXPRESSÃO $ test [ EXPRESSÃO ] $ man test $ test "a" = "a" && echo "é igual!" é igual $ echo $? 0 $ [ "a" = "b" ] && echo "é igual!" $ echo $? 1 O comando test + Para a sintaxe usando colchetes, deve ter um espaço entre a expressão e os colchetes .
  • if COMANDO then comandos elif COMANDO then comandos else comandos fi if + O if testa um comando e não uma condição . Porém, existe o comando test que testa condições . if test "a" -gt 25 #poderia usar [ "a" -gt 25 ] then echo "é maior que 25" else echo "é menor que 25" fi + Fique ligado : o if é fechado com o fi , ou seja, if invertido .
  • for VARIAVEL in LISTA do comandos done for + O for percorre uma lista, pegando um elemento a cada iteração . echo 'Seu computador irá explodir em 5 segundos' for numero in cinco quatro três dois um do echo "$numero" sleep 1 done echo "BUUMMMM!!!"
  • for + Um comando muito útil para usar com o for é o seq , que gera uma sequência numérica . for numero in $(seq 5) + Outro comando muito útil para usar com o for é o cat : contador=0 for pais in $(cat dados.txt) do contador=$((contador+1)) echo "$contador: $pais" done
  • while COMANDO do comandos done while numero=0 while test $numero -le 10 do numero=$((numero+1)) echo "Contando: $numero" done + Existem também o until , que têm as mesmas características do while . a única diferença é que ele faz o contrário .
  • case VARIAVEL in caso1) comando; comando;; caso2) comando; comando;; *) comando;; esac case case "$1" in -h | --help) echo "$MENSAGEM_DE_USO" ;; -V | --version) echo "1.0" ;; *) echo "Opção inválida: $1" ;; esac + Fique ligado : o case é fechado com o esac , ou seja, case invertido .
  • funcao() { comandos } funções pedir_nome() { echo -n "Digite seu nome: " read NOME } pedir_nome echo "Olá $NOME!"
  • cut -d : -f 2 /etc/passwd # $0 = cut # $1 = -d # $2 = : # $3 = -f # $4 = 2 # $5 = /etc/passwd # $# = 5 # $* = -d : -f 2 /etc/passwd Opções de linha de comando + Variáveis especiais e parâmetros posicionais $0 -> Nome do script $1 - n -> Parâmetros passados à linha de comando $# -> Número de parâmetros passados $* -> Lista de parâmetros passados
  • Agora é apenas codigo! http://github.com/hugomaiavieira/shellscript-scti2011
  • http://www.tldp.org/guides.html Advanced Bash - Scripting Guide Referências http://www.novatec.com.br/livros/shellscript/ Shell Script Professinal – Aurélio Marinho Jargas http://en.wikipedia.org/wiki/Shebang_(Unix) Sobre o hashbang