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

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

Gustavo Leitão Programação em Shell Script 4/1/2014 Processo Seletivo Simplificado – Professor Substituto Campus Natal Central Disciplina Programação para.

Apresentações semelhantes


Apresentação em tema: "Gustavo Leitão Programação em Shell Script 4/1/2014 Processo Seletivo Simplificado – Professor Substituto Campus Natal Central Disciplina Programação para."— Transcrição da apresentação:

1 Gustavo Leitão Programação em Shell Script 4/1/2014 Processo Seletivo Simplificado – Professor Substituto Campus Natal Central Disciplina Programação para Ambiente de Redes

2 4/1/2014 C ONTEXTUALIZANDO O T EMA Aula Anterior Comunicação entre processos UNIX Esta Aula Programação em Shell Script Próxima Aula Funções em Shell Scipt e Aplicações Práticas

3 R OTEIRO DA A ULA 4/1/2014 IntroduçãoO que é shell? Implementações de Shell Exemplo de um comando O que é um Shell Script? Primeiro Programa Sintaxe BásicaVariáveis Variáveis de Ambiente Principais Comandos Passagem por Parâmetro Operações Aritméticas Entrada do Usuário Controle de Fluxo Repetição FOR Exemplo de Aplicação Script de Backup Agendamento

4 4/1/2014 INTRODUÇÃO

5 4/1/2014 O BJETIVO DA A ULA O aluno ao final da aula deverá ter compreendido o conceito de Shell, Shell Script, suas principais aplicações e deve ser capaz de construir algumas rotinas básicas.

6 4/1/2014 INTRODUÇÃO

7 4/1/2014 INTRODUÇÃO O que é Shell? O Shell é um programa que atua na interface entre o usuário e o kernel do sistema operacional. O kernel é quem acessa os equipamentos (hardware) da máquina, como disco rígido, placa de vídeo e modem.

8 4/1/2014 INTRODUÇÃO Implementações de Shell Linux sh (bourne) – Original csh, tcsh e zsh - Criado por Bill Joy do Berkeley UNIX Ksh e pdsh Bash – Bourne Again Shell (O Mais popular) WindowsCmd.exe

9 4/1/2014 INTRODUÇÃO Exemplo de Comando Listagem de diretório – Comando ls (Linux) Listagem de diretório – Comando dir (Windows)

10 4/1/2014 INTRODUÇÃO

11 4/1/2014 INTRODUÇÃO Shell Script Shell script é uma linguagem de programação interpretada usada em vários sistemas operativos. De outra maneira, é uma seqüência de comandos armazenados em um arquivo. Arquivo pode ser executado.

12 4/1/2014 INTRODUÇÃO Exemplos de Aplicações Backups Automáticos Compilar uma série de arquivos Criar usuários do sistema

13 4/1/2014

14 P RIMEIRO P ROGRAMA Pronto! Torne-o executável com o comando chmod A primeira linha deve ser #!/bin/bash Basta criar um arquivo texto com os comandos! #!/bin/bash echo 'Nossa! Estou vivo!'

15 4/1/2014 P RIMEIRO P ROGRAMA Se um erro ocorrer, o script segue a execução dos demais comandos! Comentários no código são iniciados pelo caracter #

16 4/1/2014 S INTAXE B ÁSICA S HELL

17 4/1/2014 S INTAXE B ÁSICA S HELL Variáveis Não existe a obrigatoriedade de se declarar uma variável Não é preciso definir o tipo da variável Valor pode ser uma frase, números, e até outras variáveis e comandos Ao referenciar uma variável deve-se colocar $ antes do seu nome identificador Áspas duplas -> variável interpretada Áspas simples -> valor literal Acento grave -> interpreta comando

18 4/1/2014 S INTAXE B ÁSICA S HELL Variáveis de Ambiente Quando o script inicia algumas variáveis de ambiente são inicializadas Para distinguir das variáveis criadas pelo usuário, as variáveis de ambiente são representadas com letras maúsculas Para ter uma lista completa das variáveis de ambiente basta digitar o comando env VariávelDescrição $HOMEO diretório HOME do usuário corrente. $PATHLista de diretórios separados por ponto e vírgula (;) onde serão procurados os comandos. $USERO usuário. $PWDO diretório corrente.

19 4/1/2014 S INTAXE B ÁSICA S HELL Principais Comandos Mais comandos: http://www.guiaubuntupt.org/wiki/index.php?title=Comandos_basicos| ComandoDescrição ls Lista arquivos e diretórios ls –a #Arquivos ocultos ls –l #Mais informações rm Remove arquivos ou diretórios rm -f leiame.txt rm -rf pasta mkdir Cria um diretório mkdir diretorio cp Copia arquivos cp manual.txt /home/manual mv Move e/ou renomeia arquivos. mv manual.txt../ mv manual.txt manual2.txt cat Mostra o conteúdo do arquivo cat manual.txt grep Faz buscas em arquivos procurando linhas que atendas a expressão regular passada por parâmetro grep apple fruitlist.txt ls | grep aula

20 4/1/2014 S INTAXE B ÁSICA S HELL Passagem por Parâmetro Você pode passar parâmetros para um script shell via linha de comando ComandoDescrição $#Número de Parâmetros passados $1, $2,...Os parâmetros passados para o script $0O nome do script shell

21 4/1/2014 S INTAXE B ÁSICA S HELL Operações Aritméticas Formato de uma expressão aritmética: $((expressão)) Variáveis não precisam ser precedidas de $ Variáveis não denidas são inicializadas automaticamente com zero Aritmética é somente de inteiros

22 4/1/2014 S INTAXE B ÁSICA S HELL Entrada do Usuário Você pode pedir entrada de valor para o usuário através do comando read O comando read bloqueia a execução do script a espera da entrada do usuário Quando o usuário clica a interpretação do script continua

23 4/1/2014 S INTAXE B ÁSICA S HELL Controle de Fluxo (IF) Controle de fluxo são comandos que alteram o fluxo de execução do programa de acordo com o teste de condições

24 4/1/2014 S INTAXE B ÁSICA S HELL Operadores strin1=string2Testa se as strings são iguais Strin1!=string2Testa se as strings são diferentes -n stringTesta se a string é não nula -z stringTesta se a string é nula Operadores de Texto Operadores Aritméticos expr1 -eq expr2Testa se as expressões são iguais expr1 -ne expr2Testa se as expressões são diferentes expr1 -gt expr2Testa se a expr1 é maior que a expr2 expr1 -ge expr2 Testa se a expr1 é maior ou igual a expr2 expr1 -lt expr2Testa se a expr1 é menor que a expr2 expr1 -le expr2 Testa se a expr1 é menor ou igual a expr2 !expr1Testa se expr1 é falsa

25 4/1/2014 S INTAXE B ÁSICA S HELL Operadores -d arqTesta se arq é um diretório -e arqTesta se o arquivo existe -f arqTesta se arq é um arquivo regular -r arqTesta se a o arquivo pode ser lido -u arq Testa se o arquivo tem tamanho diferente de zero -w arqTesta se o arquivo pode ser escrito -x arq Teste se o arquivo pode ser executado Operadores de Arquivos

26 4/1/2014 S INTAXE B ÁSICA S HELL Repetição FOR Em Shell Script o for realiza um loop em uma determinada lista de valores. A lista pode ser um conjunto de strings, arquivos, etc..

27 4/1/2014 S INTAXE B ÁSICA S HELL

28 4/1/2014 EXEMPLO DE APLICAÇÃO Backup Automático

29 4/1/2014 EXEMPLO APLICAÇÃO Agendando o Backup Para agendar o backup deveremos usar o seguinte comando: crontab -e Minutos (0-59) Hora (0-23) Dia do mês (1-31) Mês (1-12) Dia da semana (0-6) CampoFunção Minuto0-59 Hora0-23 Dia do Mês 1-31 Mês1-12 Dia da Semana 0-6 (O 0 é Domingo, 1 segunda, etc...)

30 4/1/2014 N A INTERNET Comandos Linux http://www.guiaubuntupt.org/wiki/index.php?title=Comandos_basicos| Apostilas, Aula e Exemplos http://www.dca.ufrn.br/~guga

31 4/1/2014 E XERCÍCIOS Desenvolva um programa em Shell Script que imprima na tela todos os parâmetros passados na linha de comando. O número de parâmetros passados não deve ser pré-fixado. 1 Desenvolva um programa que receba um arquivo como parâmetro e mostre a quantidade de palavras linhas do arquivo. 2

32 Gustavo Leitão Programação em Shell Script 4/1/2014 Processo Seletivo Simplificado – Professor Substituto Campus Natal Central Disciplina Programação para Ambiente de Redes


Carregar ppt "Gustavo Leitão Programação em Shell Script 4/1/2014 Processo Seletivo Simplificado – Professor Substituto Campus Natal Central Disciplina Programação para."

Apresentações semelhantes


Anúncios Google