28
ShellScript Cárlisson Galdino

ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

ShellScriptCárlisson Galdino

Page 2: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

O que é Shell

SHELL

Comandos

Kernel

Page 3: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

História dos Shells Unix

● sh: Bourne Shell ou Standard Shell

● ksh: Korn Shell● csh: C Shell● bash: Bourne Again Shell

Page 4: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Bourne Again Shell

GNU Bash é um interpretador de linha de comando compatível com

sh, que executa comandos lidos a partir da entrada padrão ou de um arquivo. Bash também incorpora

recursos úteis do Korn Shell e do C Shell. Bash tenta estar em

conformidade com aimplementação da especificação

IEEE POSIX Shell and Tools (IEEE Working Group 1003.2).

Page 5: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Executando comandos

● Valor de retorno– Funcionou bem? Zero– 1: A maioria dos erros– 126: Não executável– 127: Não encontrado– 128+X: Morto com código X

● 130: Morto com código 2 (Ctrl+C)

– $?

● Foreground e Background

Page 6: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Entrada e Saída Padrão

● Entrada padrão: de onde vêm informações para o programa (interação)

● Saída padrão: para onde vão as informações que o programa quer gerar

● Default: teclado e monitor

Page 7: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Redirecionando de/para arquivo

Page 8: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Redirecionando entre comandos

● Linha de Montagem● ZIP X TAR.GZ

Empacotartar

Comprimirgz

Page 9: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Atalhos de teclado

● Tab ⇆ : Autocompletar

● CTRL+a : Início da linha

● CTRL+e : Fim da linha

● CTRL+p : Comando anterior

● CTRL+n : Próximo comando

● CTRL+l : Limpa a tela

● CTRL+u : Recorta a linha antes do cursor

● CTRL+k : Recorta a linha a partir do cursor

● CTRL+w : Recorta palavra

● CTRL+d : Exit

Page 10: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

A Primeira Linha

● #!<PATH>● chmod u+x <arquivo>

Page 11: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Shell Script

● O que é um Script?● Como fazer um Shell Script?

Page 12: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Variáveis e Aliases

● VAR=”valor”● S iuapfsdif aufo $VAR

asdfuiop● alias com='/bin/blah blah'

Page 13: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Entre Aspas

● Aspas simples● Aspas duplas● Acentos graves

Page 14: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Bashrc, History e Profile

● /etc/profile● ~/.bash_profile● ~/.bash_login● ~/.profile● ~/.bashrc

Page 15: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Testes e Validações

● Os Colchetes● -lt, -gt, -le, -ge, -eq, -ne● =, !=, -n, -z● !, -a, -o● -d, -e, -f, -G, -L, -O, -r, -s, -w,

-x

Page 16: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Lidando com parâmetros

● $#, $* e $@● $1, $2, $3...

Page 17: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Estruturas de Decisão

If [ teste ]

then

comando

elif [ teste ]

then

comando

else

comando

fi

Page 18: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Estruturas de Repetição

for VAR in LISTA

do

...

done

while COMANDOdo ...done

case $VAR in txt1) ... ;; txt2) ... ;; txtN) ... ;; *) ... ;;esac

Page 19: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Função

NOMEDAFUNCAO() {

comandos

}

● $*, $1, $2...● return

Page 20: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Brinquedos Legais

● man – Páginas de manual● ImageMagick – Converte

imagens● lynx e links - browser● wget – fazendo download● ffmpeg – converte vídeo● Midnight Commander (mc)● bc – Calculadora

Page 21: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Diálogos com Dialog

dialog --title 'Escolha a data' \ --calendar '' 0 0 31 12 1999

Page 22: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Diálogos com Zenity

● zenity --calendar --title "Dia"

Page 23: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

O que o zenity faz?

● --calendar calendário

● --entry entrada de texto

● --error mensagem de erro

● --info mostrar informações

● --file-selection seleção de arquivo

● --list lista de opções

● --notification ícone na bandeja

● --progress indicador de progresso

● --question pergunta

● --warning mensagem de alerta

● --text-info texto informativo

Page 24: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

● zzajuda

● zzalfabeto

● zzanatel

● zzansi2html

● zzarrumanome

● zzascii

● zzbeep

● zzblist

● zzbrasileirao

● zzbrasileiraob

● zzbyte

● zzcalcula

ZZ - http://funcoeszz.net

● zzcalculaip

● zzcarnaval

● zzchavepgp

● zzcinclude

● zzcinemais

● zzcnpj

● zzconjuga

● zzcontapalavra

● zzconverte

● zzcores

● zzcpf

● zzdata

● zzdicjargon

● zzdicportugues

● zzdictodos

● zzdiffpalavra

● zzdolar

● zzdominiopais

● zzdos2unix

● zzecho

● zzenglish

● zzeuro

● zzfilme

● ETC...

● zzdefine

● zzdefinr

● zzdelicious

● zzdetranes

● zzdetransp

● zzdiadasemana

● zzdicasl

● zzdicbabelfish

● zzdicbabylon

● zzdicesperanto

● zzdicgoogle

● zzdicgoogle2

Page 25: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Exemplo: pscal

http://www.panix.com/~mbh/projects.html

Page 26: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Outros Softwares

● Servidor HTTP

– http://lrp2.steinkuehler.net/Packages/weblet.htm

● Ferramenta para publicar em blog

– http://donshuff.tripod.com/dblog/

● Gerador de apresentações (slides) em HTML

– http://fx.lebail.free.fr/slides.sh/

● Diário Local

– http://cyaneus.net/selene

● Renomear MP3 com base no ID3

– http://rename-mp3.sourceforge.net/

Page 27: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Navegador de Arquivos

#!/bin/bashpergunta=0while [ $pergunta -eq 0 ]do

l=`ls $1`local=`zenity --list --column col $l`if [ -d "$local" ]then

zenity --info --text "$local é um diretório"else

zenity --info --text "$local é um arquivo"fizenity --questionpergunta=$?

done

Page 28: ShellScript - carlissongaldino.com.br · Default: teclado e monitor. Redirecionando de/para arquivo. Redirecionando entre comandos ... Shell Script O que é um

Pesquise na Net

● Aurélio Verde

– http://aurelio.net/shell/

● Júlio Neves

– http://wiki.softwarelivre.org/TWikiBar/BatePapos

● Outras Fontes

– http://www.devin.com.br/shell_script/

– http://www.dicas-l.com.br/cantinhodoshell/

– http://www.inf.ufpr.br/afms03/shell.html

● Cárlisson Galdino

– http://bardo.cyaneus.net

– http://cyaneus.net