Programação de Scripts Considerações Gerais. Adaptado do material do Prof. Mário Fiocco Júnior

Documentos relacionados
Programação Aplicada a Redes de Computadores. Faculdade IESGO 2º Sem 2016

Introdução a shell scripts

Shell Script. Rafael Silva Guimarães

Shell script. Prof. Lara P. Z. B. Oberderfer

Conceitos Básicos de Scripts

Contatos do Professor Apresentação do Conteúdo Datas das Avaliações Referências Conceitos Básicos Arquivos de Configuração de Ambiente Regras a

Introdução a Sistemas Abertos. Shell Script

Introdução a Sistemas Abertos. Ambiente shell

Administração de Redes de Computadores

Capacitação Sistema Operacional Linux Semana V

Shell Script. Básico do básico

Sistema Operacional Unidade 11.2 Shell Script: estruturas condicionais. QI ESCOLAS E FACULDADES Curso Técnico em Informática

ADMINISTRAÇÃO DE SISTEMAS UNIX Aula Prática 01 Sistemas Operacionais Gil Eduardo de Andrade

Prof. Esp. Andrew Rodrigues 1

Programação para Servidores. Cassio Diego

Aula 9: Shell Script

S.O.R. A Interface de comando

Variáveis. Você pode ver as variáveis do sistema com os comandos printenv, env e set como mostra o exemplo abaixo:

ADMINISTRAÇÃO DE REDES I LINUX. Shell Script. Frederico Madeira LPIC 1, CCNA

FACULDADE DE TECNOLOGIA SENAC PELOTAS. Trabalho de Shellscript Atividade 5 Introdução a Informática

Programação para Servidores. Cassio Diego

Redes de Computadores

Gerando um programa executável a partir de um módulo Python

Aula 5 e 6: Introdução ao shell

Introdução ao Shell Script

MÓDULO 01 INTRODUÇÃO AO LINUX

Manual Prático de Uso do MySQL

Comandos. Sistema Operacional GNU/Linux. Para Manipulação de Contas

Administração Central Cetec Capacitações Capacitação Sistema Operacional Linux Semana V

Fundamentos de Lógica e Algoritmos. Aula 3.1 Introdução a Python. Prof. Dr. Bruno Moreno

Prof. Diego Pereira Gerência e Configuração de Serviços para Internet. Shell Script

Interpretador de comandos Formas de envio de Comandos Terminal Linux Curingas Listando Placas Particularidades. Aula 02

3.1 - Funções para manipular dados de entrada e saída padrão

Administração de sistemas Linux. Estrutura de diretórios Linux O diretório /etc

Entendendo e usando permissões no Linux. Orientador de Curso: Rodrigo Caetano Filgueira

Tipos de usuários do Linux Root Usuário Comum: #

Figura 1: Operações para gerar um programa executável.

Administração de sistemas Linux. Permissões de arquivos e diretórios em sistemas linux.

IFSC - SJ CURSO TÉCNICO DE TELECOMUNICAÇÕES DISCIPLINA: MAN / SOP

Universidade Federal Fluminense

Aula 1 - DSBD (Data Science Banco de Dados)

Introdução ao Shell Script

Sistema Operacional GNU/Linux. Comandos. para Execução de Programas

1.1-Digitar o comando abaixo para entrar no manual on-line do sistema para buscar informações sobre o comando pwd. man pwd

Técnico Subsequente em Redes de Computadores Introdução a Sistemas Abertos (ISA)

Administração de sistemas Linux. Administração de processos.

Aula de Linux Modo Texto

Sistemas Operacionais. Laboratório 1 (Ambiente de Aprendizado)

Admistração de Redes de Computadores (ARC)

Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.

1º Ano - Técnico em Informática Integrado. Sistemas Operacionais

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Introdução ao SciLab. SciLab O que é? Onde obter o programa:

Estruturas de Repetição Comando while do... done

Working 03 : Conceitos Básicos II

Tecnologias e Sistemas de Informação. Software Livre. SL: Gerenciamento e Configurações 2 Semestre de Prof. Marcelo Z.

IFSC - SJ CURSO DE TELECOMUNICAÇÕES DISCIPLINA: ICO

MESTRADO EM MACROECONOMIA e FINANÇAS Disciplina de Computação. Aula 01. Prof. Dr. Marco Antonio Leonel Caetano

105 Shell Script. João Bosco Teixeira Junior

Sistemas Operacionais de Redes Comandos de Administração. segunda-feira, 1 de julho de 13

Asterisk para Raspberry Pi

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?

AULA 2 VISÃO BÁSICA DE CLASSES EM PHP

ISA. A Interface de comando

Programação Shell Script: como dominar seu terminal

Instalador e Operador de Sistemas de Telefonia e Comunicação de Dados

Desenvolvimento de Aplicações Desktop

Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCENS UFES Departamento de Computação. Shell Script

C A P I T U L O 2 S I N T A X E B Á S I C A - V A R I Á V E I S E C O N S T A N T E S E M P H P

Sistemas Operacionais II. Prof. Gleison Batista de Sousa Aula 01

Programação para Servidores. Cassio Diego

Introdução a Programação Web com PHP

1.1 Linguagens de Programação

Noções de sistemas de computação

Administração de sistemas Linux. Gerenciamento de grupos e usuários

AULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa

Programação Aplicada a Redes de Computadores Shell Script

Este laboratório foi criado apenas como um tutorial. Simplesmente execute o comando apresentado e observe o resultado.

Fundamentos de Lógica e Algoritmos. Aula 3.1 Introdução a Programação. Prof. Dr. Bruno Moreno

Aula : Permissões de acesso a arquivos e diretórios. 2 Conceito de permissões de acesso a arquivos e diretórios

Organização de programas em Python. Vanessa Braganholo

Procedimento para Configuração de Internet em modo Bridge

Introdução a Administração de Sistemas GNU/Linux

Administração de Sistemas Operacionais. Prof.: Marlon Marcon

Laboratório Configuração do TCP/IP em uma Rede de PCs

Esta é a única declaração da aplicação

Programação I A Linguagem C. Prof. Carlos Alberto

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas

Sistemas Operacionais II. Prof. Gleison Batista de Sousa Aula 01

Ashampoo Rescue Disc

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Guia Rápido. Elgin L42-DT Impressora de etiquetas.

Estácio-FIC Graduação em Redes de Computadores

Instalação do MySQL e da ferramenta MySQL- Front

Informática Sistemas Operacionais Aula 5. Cleverton Hentz

9/24/2014. Prof. André Backes

Linguagens de Domínio Específico

Preparatório OBI. Prof. André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida. Aula 01 Introdução a C++

Transcrição:

Programação de Scripts Considerações Gerais Adaptado do material do Prof. Mário Fiocco Júnior

O que é o shell? O Shell pode ser definido como o interpretador de instruções e comandos. Quando o usuário ou sistema executa qualquer comando, o Shell é responsável pela correta 'interpretação' deste. O "prompt" do Shell é a linha de comando do Unix e Linux, que recebe os comandos digitados pelo usuário para serem executados. 2 Considerações Gerais

localhost login: root Password: Last login: Fri Apr 16 01:57:28 on tty5 [root@localhost root]# _ Ali está o shell, esperando ansiosamente por algum comando para ele poder executar. Essa é a sua função: esperar e executar. Cada comando digitado é lido, verificado, interpretado e enviado ao sistema operacional para ser de fato executado. 3 Considerações Gerais

USUÁRIO --> SHELL --> KERNEL --> DISCO RÍGIDO Kernel é o componente que acessa os equipamentos (hardware) da máquina como o Disco Rígido, Placa de Vídeo e Modem. Para os usuários do Windows, é fácil pensar no shell como um MSDOS melhorado. Ao invés do C:\> aparece um [root@localhost root]#, mas o funcionamento é similar. Basta digitar um comando, suas opções e apertar a ENTER que ele será executado. O comando deve estar no PATH, mensagens de aviso são mandadas para a tela e Ctrl+C interrompe o funcionamento. Isso tudo é igual em ambos. 4 Considerações Gerais

Além dos comandos básicos para navegar entre diretórios e manipular arquivos, ele também possui todas as estruturas de uma linguagem de programação, como IF, FOR, WHILE, variáveis e funções. Com isso, também é possível usar o shell para fazer scripts e automatizar tarefas. Este será o nosso foco: scripts em shell. 5 Considerações Gerais

Shell script Um script é um arquivo que guarda vários comandos e pode ser executado sempre que preciso. Os comandos de um script são os mesmos que se digita no prompt. Por exemplo, se de tempos em tempos você quer saber informações do sistema como horário, ocupação do disco e os usuários que estão logados, é preciso digitar três comandos: 6 Considerações Gerais

[root@localhost root]# date [root@localhost root]# df [root@localhost root]# w É melhor fazer um script chamado "sistema" e colocar estes comandos nele. O conteúdo do arquivo "sistema" seria o seguinte: #!/bin/bash date df w 7 Considerações Gerais

E para chamar este script, basta agora executar apenas um comando: [root@localhost root]#./sistema Isso é um shell script. Um arquivo de texto que contém comandos do sistema e pode ser executado pelo usuário. 8 Considerações Gerais

Antes de começar!!! Se você está acessando o sistema como usuário administrador (root), saia e entre como um usuário normal. É muito perigoso estudar shell usando o superusuário, você pode danificar o sistema com um comando errado. Se você não tem certeza qual o seu usuário, use o comando "whoami" para saber Como o prompt de usuário normal é diferente para cada um, nos exemplos seguintes será usado "prompt$" para indicar o prompt da linha de comando. 9 Considerações Gerais

O primeiro shell script O primeiro shell script a fazer será o "sistema" do exemplo anterior, de simplesmente juntar três comandos em um mesmo script. Passos para criar um shell script 1. Escolher um nome para o script Já temos um nome: sistema. Use apenas letras minúsculas e evite acentos, símbolos e espaço em branco 10 Considerações Gerais

2. Escolher o diretório onde colocar o script Para que o script possa ser executado de qualquer parte do sistema, mova-o para um diretório que esteja no seu PATH. Para ver quais são estes diretórios, use o comando: echo $PATH Se não tiver permissão de mover para um diretório do PATH, deixe-o dentro de seu diretório pessoal ($HOME). 11 Considerações Gerais

3. Criar o arquivo e colocar nele os comandos Use o nano, VI ou outro editor de textos de sua preferência para colocar todos os comandos dentro do arquivo. 4. Colocar a chamada do shell na primeira linha A primeira linha do script deve ser: #!/bin/bash Para que ao ser executado, o sistema saiba que é o shell quem irá interpretar estes comandos. 13 Considerações Gerais

5. Tornar o script um arquivo executável Use o seguinte comando para que seu script seja reconhecido pelo sistema como um comando executável: chmod +x sistema 14 Considerações Gerais

Problemas na execução do script "Comando não encontrado" O shell não encontrou o seu script. Verifique se o comando que você está chamando tem exatamente o mesmo nome do seu script. Lembre-se que no Unix/Linux as letras maiúsculas e minúsculas são diferentes, então o comando "SISTEMA" é diferente do comando "sistema". Caso o nome esteja correto, verifique se ele está no PATH do sistema. O comando "echo $PATH" mostra quais são os diretórios conhecidos, mova seu script para dentro de um deles, ou chame-o passando o caminho completo. 15 Considerações Gerais

Se o script estiver no diretório corrente, chameo com um "./" na frente, assim: prompt$./sistema Caso contrário, especifique o caminho completo desde o diretório raiz: prompt$ /tmp/scripts/sistema 16 Considerações Gerais

"Permissão Negada" O shell encontrou seu script, mas ele não é executável. Use o comando "chmod +x seu-script" para torná-lo um arquivo executável. 17 Considerações Gerais

"Erro de Sintaxe" O shell encontrou e executou seu script, porém ele tem erros. Um script só é executado quando sua sintaxe está 100% correta. Verifique os seus comandos, geralmente o erro é algum IF ou aspas que foram abertos e não foram fechados. A própria mensagem informa o número da linha onde o erro foi encontrado. 18 Considerações Gerais

O primeiro shell script (melhorado) Nesse ponto, você já sabe o básico necessário para fazer um script em shell do zero e executálo. Mas apenas colocar os comandos em um arquivo não torna este script útil. Vamos fazer algumas melhorias nele para que fique mais compreensível. 19 Considerações Gerais

Melhorar a saída na tela Executar os três comandos seguidos resulta em um bolo de texto na tela, misturando as informações e dificultando o entendimento. É preciso trabalhar um pouco a saída do script, tornando-a mais legível. O comando "echo" serve para mostrar mensagens na tela. Que tal anunciar cada comando antes de executá-lo? 20 Considerações Gerais

#!/bin/bash echo "Data e Horário:" date echo echo "Uso do disco:" df echo echo "Usuários conectados:" w 21 Considerações Gerais

Para usar o echo, basta colocar o texto entre "aspas". Se nenhum texto for colocado, uma linha em branco é mostrada. 22 Considerações Gerais

Interagir com o usuário Para o script ficar mais completo, vamos colocar uma interação mínima com o usuário, pedindo uma confirmação antes de executar os comandos. #!/bin/bash echo "Vou buscar os dados do sistema. Posso continuar? [sn] " read RESPOSTA test "$RESPOSTA" = "n" && exit echo "Data e Horário:" 23 Considerações Gerais

date echo echo "Uso do disco:" df echo echo "Usuários conectados:" w 24 Considerações Gerais

O comando "read" lê o que o usuário digita e guarda na variável RESPOSTA. Logo em seguida, o comando "test" verifica se o conteúdo dessa variável era "n". Se afirmativo, o comando "exit" é chamado e o script é finalizado. Nessa linha há alguns detalhes importantes: O conteúdo da variável é acessado colocando-se um cifrão "$" na frente O comando test é útil para fazer vários tipos de verificações em textos e arquivos. 25 Considerações Gerais

O operador lógico "&&", só executa o segundo comando caso o primeiro tenha retornado resposta verdadeira ( true ). (Conectivo lógico E) O operador inverso é o " (Conectivo lógico OU) 26 Considerações Gerais

Exercício: 1. Faça um script que faça um cadastro de usuário para uma loja de departamentos, onde os dados armazenados são: - Nome completo; - CPF; - RG; - Data de nascimento; - Estado Civil; - Profissão; - Renda mensal; - Escolaridade; - Endereço (rua, numero, bairro, cidade, cep, uf); Após o usuário entrar com todos os dados, o script deve mostrar todos os dados digitados pelo usuário na tela, para verificação. 27 Considerações Gerais