Oficina shell
-
Upload
apsegundo -
Category
Technology
-
view
813 -
download
0
Transcript of Oficina shell
![Page 1: Oficina shell](https://reader036.fdocumentos.com/reader036/viewer/2022071709/55a2ced61a28ab014c8b463c/html5/thumbnails/1.jpg)
Oficina de Programação em Shell Script
Amador PahimApresentado por:
Analista de Suporte/UCS
CCTI - Semana Acadêmica
![Page 2: Oficina shell](https://reader036.fdocumentos.com/reader036/viewer/2022071709/55a2ced61a28ab014c8b463c/html5/thumbnails/2.jpg)
Introdução
![Page 3: Oficina shell](https://reader036.fdocumentos.com/reader036/viewer/2022071709/55a2ced61a28ab014c8b463c/html5/thumbnails/3.jpg)
O que é Shell?
![Page 4: Oficina shell](https://reader036.fdocumentos.com/reader036/viewer/2022071709/55a2ced61a28ab014c8b463c/html5/thumbnails/4.jpg)
Vários saboresBourne Shell (sh)● Escrito por Stephen
Bourne, da Bell Labs. Distribuido pela primeira vez com o Unix versão 7, em 1977.
Korn Shell (ksh)● Desenvolvido no
começo dos anos 80 por David Korn, também da Bell Labs.
C Shell (csh)● Feito por Bill Joy para o
BSD.
Almquist Shell (ash) e Debian ash (dash)● BSDs / Debian.
Bourne Again Shell (bash)● Desenvolvido por Brian
Fox em 1987 para o Sistema Operacional GNU.
http://en.wikipedia.org/wiki/Comparison_of_computer_shells
![Page 5: Oficina shell](https://reader036.fdocumentos.com/reader036/viewer/2022071709/55a2ced61a28ab014c8b463c/html5/thumbnails/5.jpg)
Passos
● Escolha um nome.● Crie um arquivo com o nome escolhido e a
extensão “sh”.● Coloque o shell na primeira linha assim:
#!/bin/bash
● Torne-o executável:
chmod +x script.sh
● Execute-o:
./script.shobs: variável $PATH.
![Page 6: Oficina shell](https://reader036.fdocumentos.com/reader036/viewer/2022071709/55a2ced61a28ab014c8b463c/html5/thumbnails/6.jpg)
1º Script
● Mostre informações do sistema (data, hora e discos).● Melhorar a saída.● Interagir com o usuário.
![Page 7: Oficina shell](https://reader036.fdocumentos.com/reader036/viewer/2022071709/55a2ced61a28ab014c8b463c/html5/thumbnails/7.jpg)
Variáveis
● Atribuição:
# var1=Oficina
# var2=”Oficina de Shell Script”
● Vetores:
# vetor[0]=”Semana”
# vetor[1]=”Acadêmica”
● Variáveis de ambiente:● $SHELL, $PWD, $RANDOM, $?, ...
![Page 8: Oficina shell](https://reader036.fdocumentos.com/reader036/viewer/2022071709/55a2ced61a28ab014c8b463c/html5/thumbnails/8.jpg)
Comando test
Variáveis Arquivos
-lt (LessThan) -d (É diretório)
-gt (GreaterThan) -f (É arquivo)
-le (LessEqual) -r (Arquivo com permissão de leitura)
-ge (GreaterEqual) -s (Arquivo com tamanho mais que 0)
-eq (Equal) -w (Arquivo com permissão de escrita)
-ne (NotEqual) -nt (NewerThan)
= (String igual) -ot (OlderThan)
!= (String diferente) -ef (EqualFile)
-n (String não nula) -a (AND)
-z (String nula) -o (OR)
![Page 9: Oficina shell](https://reader036.fdocumentos.com/reader036/viewer/2022071709/55a2ced61a28ab014c8b463c/html5/thumbnails/9.jpg)
Importante!
● Passagem de parâmetros:
./script.sh parametro1 parametro2
● Operações aritméticas:
var=$((2+4))
var2=$(($var*2))
● If, for e while:if COMANDO then
comandoselse
comandosfi
for VAR in LISTAGEMdo
comandosdone
while COMANDOdo
comandos done
![Page 10: Oficina shell](https://reader036.fdocumentos.com/reader036/viewer/2022071709/55a2ced61a28ab014c8b463c/html5/thumbnails/10.jpg)
2º Script
● Mostre na tela todos os parâmetros recebidos, numerando-os.
![Page 11: Oficina shell](https://reader036.fdocumentos.com/reader036/viewer/2022071709/55a2ced61a28ab014c8b463c/html5/thumbnails/11.jpg)
Ordem de execução
● Resolução de redirecionamentos● Substituição de variáveis● Substituição de meta caracteres● Passagem do comando para o Kernel
![Page 12: Oficina shell](https://reader036.fdocumentos.com/reader036/viewer/2022071709/55a2ced61a28ab014c8b463c/html5/thumbnails/12.jpg)
Redirecionamentos
● Saída padrão:
> # echo teste > arq1.txt
>> # echo teste2 >> arq1.txt
● Saída de erro padrão:
2> # ls pindamonhangaba 2> arq2.txt
2>> # ls papibaquigrafo 2>> arq2.txt
● Entrada padrão:
< # grep papiba < arq2.txt
![Page 13: Oficina shell](https://reader036.fdocumentos.com/reader036/viewer/2022071709/55a2ced61a28ab014c8b463c/html5/thumbnails/13.jpg)
Redirecionamentos
● Here document:
<<● Exemplo:
# ftp -ivn host.domain.com << FIM
user admin teste
bin
get file.tar.gz
FIM
![Page 14: Oficina shell](https://reader036.fdocumentos.com/reader036/viewer/2022071709/55a2ced61a28ab014c8b463c/html5/thumbnails/14.jpg)
3º Script
● Leia 3 números e mostre-os em ordem decrescente.
![Page 15: Oficina shell](https://reader036.fdocumentos.com/reader036/viewer/2022071709/55a2ced61a28ab014c8b463c/html5/thumbnails/15.jpg)
Fontes:
www.julioneves.comaurelio.net