A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Primeiros passos em Shell Script

Apresentações semelhantes


Apresentação em tema: "Primeiros passos em Shell Script"— Transcrição da apresentação:

1 Primeiros passos em Shell Script
Projeto Casa Brasil Oficina: Unidade CB de Imperatriz - MA TEC Daniela Montelo - MA/PA

2 Roteiro PARTE 01 Ambientação Visão Geral: ambientes linux e shell
Principais Shells Funcionamento do Shell Caracteres especiais para o Shell Dicas de Shell PARTE 02 Redirecionamento de comandos Caracteres de Ambiente Referências

3 Ambientação Diálogo entreouvido entre um Linuxer e um empurrador de mouse:     - Quem é o Bash?     - O Bash é o filho mais novo da família Shell.     - Pô cara! Estás a fim de me deixar maluco? Eu tinha uma dúvida e você me deixa com duas!     - Não, maluco você já é há muito tempo. Desde que se decidiu a usar aquele sistema operacional que você tem que dar dez boots por dia e não tem domínio nenhum sobre o que esta acontecendo no seu computador. Mas deixa isso prá lá, vou te explicar o que é Shell e os componentes de sua família e ao final da explanação você dirá: "Meu Deus do Shell! Porque eu não optei pelo Linux antes?".

4 Visão Geral Ambiente Linux

5 Visão Geral Ambiente Shell Linux multiusuário; Arquivo /etc/passwd;
Login – recebe shell; Segurança com shell; Shell – concha que envolve o S.O.

6 Ambiente Shell /etc/passwd root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh sshd:x:114:65534::/var/run/sshd:/usr/sbin/nologin debian:x:1000:1000:debian,,,:/home/debian:/bin/bash gilvan:x:1001:1000:,,,,:/home/gilvan:/bin/bash brunini:x:1002:1000:,,,,:/home/brunini:/bin/bash sacix1:x:1003:1003:,,,,:/home/sacix1:/bin/bash sacix2:x:1004:1004:,,,,:/home/sacix2:/bin/bash

7 Principais Shells Principais Shells: sh (Bourne Shell), ksh (Korn Shell), bash (Bourne Again Shell) e csh (C Shell). SHELLs Bourne Shell (sh) - desenvolvido por Stephen Bourne da Bell Labs (da AT&T onde também foi desenvolvido o Unix), este foi durante muitos anos o Shell default do sistema operacional Unix. É também chamado de Standard Shell por ter sido durante vários anos o único e até hoje é o mais utilizado até porque ele foi portado para todos os ambientes Unix e distros Linux.

8 Principais Shells SHELLs
Korn Shell (ksh) - desenvolvido por David Korn, também da Bell Labs, é um superset do sh, isto é, possui todas as facilidades do sh e a elas agregou muitas outras. A compatibilidade total com o sh vem trazendo muitos usuários e programadores de Shell para este ambiente. Boune Again Shell (bash) - este é o Shell mais moderno e cujo número de adeptos mais cresce em todo o mundo, seja por ser o Shell default do Linux, seu sistema operacional hospedeiro, seja por sua grande diversidade de comandos, que incorpora inclusive diversos instruções características do C Shell. C Shell (csh) - desenvolvido por Bill Joy da Berkley University é o Shell mais utilizado em ambientes *BSD e Xenix. A estruturação de seus comandos é bem similar à da linguagem C. Seu grande pecado foi ignorar a compatibilidade com o sh, partindo por um caminho próprio. Além destes Shells existem outros, mas os trataremos genericamente por Shell.

9 Funcionamento do Shell
Shell – primeiro programa no login Interpreta comandos Poderosa linguagem com comandos de alto nível, que permite construção de loops (laços), de tomadas de decisão e de armazenamento de valores em variáveis Ordem de funcionamento do shell: Exame da linha de comando, Atribuição, Comando, Redirecionamento, Substituição de variáveis e meta caracteres, Passar linha de comando para o kernel.

10 Exemplos Exemplos de funcionamento do shell: ls diretório, var = 100;
echo var; echo $var

11 Caracteres especiais para o Shell
Caracteres para remoção do significado Apóstrofo ou plic ( ' ): $ ls nome*; $ ls 'nome*' Contrabarra ou barra invertida ( \ ): $ ls casa brasil; ls casa\ brasil $ cd /etc,$ echo '*', $ echo \*, $ echo * Aspas ( “ ): igual ao apóstrofo exceto que, se a cadeia entre aspas contiver um cifrão ($), uma crase (`), ou uma barra invertida (\), estes caracteres serão interpretados pelo Shell.

12 Caracteres especiais para o Shell
Caracteres para redirecionamento Comando: entrada, saída, erros Stdin – teclado, stdout – tela, stderr – tela $ cat, $cat > teste, $cat >> teste Redirecionamento da saída de erro padrão: 2> nome_arquivo Ex: $nano arquivo rm /tmp/arquivo$$ 2> /dev/null $ls naoexiste $ls naoexiste 2> arquivodeerros $cat arquivodeerros

13 Dicas de Shell Dica # 1 Dica # 2
O $$ contém o PID, isto é, o número do seu processo. Como o Linux é multiusuário, é bom anexar sempre o $$ ao nome dos dos arquivos que serão usados por várias pessoas para não haver problema de propriedade, isto é, caso você batizasse o seu arquivo simplesmente como seraqueexiste, o primeiro que o usasse (criando-o então) seria o seu dono e todos os outros ganhariam um erro quando tentassem gravar algo nele. Dica # 2  - Quem é esse tal de /dev/null?  - Em Unix existe um arquivo fantasma. Chama-se /dev/null. Tudo que é mandado para este arquivo some. Assemelha-se a um Buraco Negro. No caso do exemplo, como não me interessava guardar a possível mensagem de erro oriunda do comando rm, redirecionei-a para este arquivo. É interessante notar que estes caracteres de redirecionamento são cumulativos, isto é, se no exemplo anterior fizéssemos: $ ls naoexiste 2>> arquivodeerros

14 PARTE 02 Redirecionamento de comandos Caracteres de Ambiente

15 Redirecionamento de comandos
cat < arquivo ftp -ivn hostremoto << fimftp user $Usuário $Senha binary get arquivoremoto fimftp $ ls | wc -l $ cat /etc/passwd |sort | lp

16 Caracteres de Ambiente
$ who | wc -l $ echo "Existem who | wc -l usuários conectados" $ echo "Existem `who | wc -l` usuários conectados" $ echo Existem `who | wc -l` usuários conectados $ pwd ; cd /etc; pwd; cd -; pwd $ (pwd ; cd /etc ; pwd;)‏ $ pwd

17 Referências Livro de Shell em português, disponível em: TwikiBar – wiki com materiais sobre shell, disponível em: NEVES, Júlio Cesar. Programação Shell Linux, 6ª edição, Ed. Brasport, 2006. Curiosidades: Fran%C3%A7ois_Champollion


Carregar ppt "Primeiros passos em Shell Script"

Apresentações semelhantes


Anúncios Google