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

Slides:



Advertisements
Apresentações semelhantes
Shell Script Professor: João Paulo
Advertisements

1 Estruturas de Controle Márcia J. N. Rodrigues Lucena Especialização em Técnicas e Ferramentas de Apoio à Decisão Departamento.
Procedimentos e Funções
Banco de Dados Aula 01: Conceitos Básicos
Grupo Paralelismo – Unesp RC
FORTRAN 90 Denise Yumi Takamura.
INTRODUÇÃO À COMPUTAÇÃO PARALELA
SQL Procedural Junho/2006.
SQL-3. Novo contexto e necessidade de : Manipular imagens Outros tipos de dados além de texto e números Recuperação de dados mais complexos Níveis distintos.
Modularização de Código. Modularizar código Construção do algoritmo em um módulo único (Início...Fim/ Program... End) Único arquivo.
Introdução ao Fortran 4/abril/2006. Pseudocódigo Compreensão do problema Elaboração da lógica de resolução Tradução da lógica para pseudocódigo.
Arquitetura de computadores
Trac é uma ferramenta open source e de interface web para controle de projetos de desenvolvimento de software. O objetivo do software é ajudar o desenvolvedor.
Sistemas Operacionais
Utilização do montador Daedalus
Vulnerabilidade de Unicode
Algoritmos com laços (ou seja, com conjuntos de instruções que devem ser executados repetidas vezes)
Teste Estrutural de Software
Análise e Solução de Problemas
Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Aplicação GeneAl Treinamento no GRADEp Aplicação GeneAl.
Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Treinamento no GRADEp Serviço Collector CollectorDemo e.
Servidores e Programação Web Redes de Computadores.
Geração de Código Cap. 8. Introdução Fase final para um compilador Entrada é uma representação intermediária do código fonte e a saída é um programa para.
O Fluxo de Testes © Alexandre Vasconcelos
Serviços Integrados na Arquitetura da Internet Apresentação: Fernando Nadal.
Introdução Software para Laboratórios de Análises Clínicas
Página de entrada A página de entrada, ou a index, representa um convite para o seu site.
UD de Sorocaba/ Iperó UNIVERSIDADE ESTADUAL PAULISTA Recursos Computacionais Antonio Martins.
Campus de Sorocaba UNIVERSIDADE ESTADUAL PAULISTA Recursos Computacionais Antonio Martins.
Funções de um computador
CES-41 COMPILADORES Capítulo IV Complementos de Análise Léxica.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo III Comandos de Controle.
1.3 – Interpretadores – Compiladores versus Interpretadores
CES-41 COMPILADORES Aulas Práticas
Capítulo IX – Ponteiros 9.1 – Introdução 9.2 – Relação entre ponteiros e variáveis indexadas 9.3 – Alocação dinâmica de memória 9.4 – Variáveis indexadas,
Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.
Formação de Administradores de Redes Linux LPI – level 1 SENAC TI Fernando Costa.
Formação de Administradores de Redes Linux LPI – level 1
Curso Técnico em Informática La Salle - Canoas
LA SALLE Curso Técnico em Informática
FUNDAÇÃO CARLOS CHAGAS
Business Process Management e Workflow - jBPM Aluno: Filipe Ferraz Salgado Orientador: Francisco Reverbel Novembro 2006.
Já definimos o coeficiente angular de uma curva y = f(x) no ponto onde x = x 0. Derivadas Chamamos esse limite, quando ele existia, de derivada de f em.
ALOCAÇÃO DINÂMICA DE MEMÓRIA
EEL170 COMPUTAÇÃO I Antonio Cláudio Gómez de Sousa 1a série de slides versão 19/03/2012.
Interpolação Introdução Conceito de Interpolação
Aritmética de ponto flutuante Erros
Organização de Sistemas de Computadores
Desempenho A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção.
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Prof. Giovanny Lucero Introdução Prof. Giovanny Lucero
Linguagens Formais e Tradutores Linguagens Regulares (Revisão)
Tecnologia para Web JavaScript Enrique Pimentel Leite de Oliveira
Comandos básicos do MS-DOS
Marco Antonio Montebello Júnior
Curso de Programação em C++
Curso de Programação em C++ Universidade Federal do Ceará Departamento de Engenharia Estrutural e Construção Civil Prof: Evandro Parente Junior Monitor:
Baseado no documento do Prof. Ronaldo Martins da Costa
LINGUAGENS DE PROGRAMAÇÃO
Internet Aula 03. Histórico Durante a guerra fria, os EUA tiveram a necessidade de interligar laboratórios que trabalhavam para os militares; Essa interligação.
Baseado no documento do Prof. Ronaldo Martins da Costa
Sistemas Operacionais e Windows XP Aula 04 – DCA0302.
04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.
Programação Concorrente com Thread Java
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
Administração de Sistemas Operacionais
Prof. André Leon S. Gradvohl, Dr.
Shell Script Prof. Rafael Paoliello Guimarães FAESA.
Automatização de Serviços – P1 SHELL SCRIPT Charles J. Busarello - IFPR.
Programação em Shell Script
Transcrição da apresentação:

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

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

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/1/2014 INTRODUÇÃO

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.

4/1/2014 INTRODUÇÃO

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.

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

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

4/1/2014 INTRODUÇÃO

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.

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

4/1/2014

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!'

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 #

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

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

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.

4/1/2014 S INTAXE B ÁSICA S HELL Principais Comandos Mais comandos: 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

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

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

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

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

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

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

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..

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

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

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...)

4/1/2014 N A INTERNET Comandos Linux Apostilas, Aula e Exemplos

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

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