Introdução ao Shell Script



Documentos relacionados
Introdução a. Shell Script. Clésio Matos

Introdução ao Shell Script

Se não existisse uma variável de ambiente chamada PATH você teria que digitar todo o caminho do comando para listar por exemplo:

Conceitos Básicos de Scripts

Scripts Shell. João Medeiros 1 / 20

Oficina de ShellScript

Shell Script. Rafael Silva Guimarães

Introdução a shell scripts

Uso Eficiente da Linha de Comando com os Shells do Unix. Fábio Olivé

Formação de Administradores de Redes Linux LPI level 1. Aula 2 SENAC TI Fernando Costa

Aula 02. Introdução ao Linux

Sistemas Operacionais de Rede Linux - Gerenciamento de Arquivos

Introdução a Sistemas Abertos. Shell Script

Aula 01 Visão Geral do Linux

Daniel Darlen. IV SDSL Brasília DF Dezembro de Introdução ao Bash p.1/62

LINX POSTOS AUTOSYSTEM

Manual do Sistema "Fala Comigo - Sistema de Atendimento On-Line" Editorial Brazil Informatica

Manual de backup do banco de dados PostgreSQL - Versão 2. Setembro-2011

Sistema Operacional Unidade 5 - Iniciando o modo texto. QI ESCOLAS E FACULDADES Curso Técnico em Informática

Comandos Básicos do Linux/Unix

Aula 4 Comandos Básicos Linux. Prof.: Roberto Franciscatto

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

Sistemas Operacionais

Manual Sistema Mó vel Msys Cómercial

2 echo "PHP e outros.";

Como gerar arquivos para Sphinx Operador

Instalando o Debian em modo texto

Algoritmos e Programação Estruturada

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

NetEye Guia de Instalação

ENDEREÇOS DE REDE PRIVADOS até até até Kernel

Resumo da Matéria de Linguagem de Programação. Linguagem C

Sistema Click Principais Comandos

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE TECNOLOGIA ENGENHARIA DE COMPUTAÇÃO E AUTOMAÇÃO

Fundamentos de Sistemas Operacionais. GNU / Linux. Prof. Edwar Saliba Júnior Março de Unidade GNU / Linux

Sistema de Instalação e Criação da Estrutura do Banco de Dados MANUAL DO INSTALADOR. Julho/2007. Ministério da saúde

Daniel Darlen Corrêa Ribeiro, Eduardo Campos dos Santos. ARL Universidade Federal de Lavras (UFLA) Lavras MG - Brasil

Omega Tecnologia Manual Omega Hosting

Tutorial de Matlab Francesco Franco

Aula 27 - Agendamento de Tarefas (CRONTAB)

Este tutorial está publicado originalmente em

NetEye Guia de Instalação

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

43 11 Relatórios, Listagens e Exportações para Excel, TXT e HTML

Módulos...2 Shell...3

Procedimentos para Instalação do Sisloc

Prof. Esp. Adriano Carvalho

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania

Instalação FreeBSD Inicialização do CD/DVD! Ao colocar o CD/DVD como boot principal na BIOS, aparecerá a seguinte tela:

Conhecendo o Computador

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

APOSTILA LINUX EDUCACIONAL

O que é uma rede de computadores?

LISTA DE COMANDOS DO LINUX 1

Terceiro Milênio Informática

Procedimentos para Reinstalação do Sisloc

Utilização do Webmail da UFS

Instalação: permite baixar o pacote de instalação do agente de coleta do sistema.

Tutorial Gerar arquivo PDF. Gerando um documento pdf com várias imagens 1- Inserir imagem no Word

E&L Protocolo, Documentos Eletrônicos e Processos Perguntas Frequentes

Disciplina: Introdução aos Sistemas Operacionais Professor: Fernando Santorsula

FundamentosemInformática

Docas do Pará - Guia de Instalação

O que é conexão de área de trabalho remoto?

WF Processos. Manual de Instruções

Manual do Usuário Android Neocontrol

2 Um Primeiro Programa em C

Configurando um Grupo Doméstico e Compartilhando arquivos no Windows 7

No Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:

GUIA INTEGRA SERVICES E STATUS MONITOR

1- Requisitos mínimos. 2- Instalando o Acesso Full. 3- Iniciando o Acesso Full pela primeira vez

Como instalar o Ocomon passo a passo.

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Desktop

Acadêmicos: Luís Fernando Martins Nagata Gustavo Rezende Vinícius Rezende Santos

LOGs e ALERTAS de DESEMPENHO

Tutorial do administrador do HelpCenterLive (Sistema de Ajuda)

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

CURSO DE PROGRAMAÇÃO EM JAVA

Manual de Instalação. SafeSign Standard (Para MAC OS 10.7)

Introdução aos cálculos de datas

UDPcast Clonagem de HDs via rede utilizando

OPERADORES E ESTRUTURAS DE CONTROLE

Manual SAGe Versão 1.2 (a partir da versão )

Elaborado por SIGA-EPT. Projeto SIGA-EPT: Manual do Usuário Almoxarifado

SAD Gestor Gerenciador de Backup

Conheça os principais comandos do Prompt do Windows; veja lista

Manual do usuário. v1.0

Como Gerar documento em PDF com várias Imagens

Windows. Introdução. Introdução Sistema Operacional. Introdução Sistema Operacional. Introdução Sistema Operacional. Introdução Sistema Operacional

Administração de Redes de Computadores

Oficina de ferramentas de Gerência para Redes em Linux. Prof. Jefferson Santiago

Programação WEB I Estruturas de controle e repetição

Manual Administrador - Mídia System

1 Instalando o VirtualBox no Windows

MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO. Motor Periférico Versão 8.0

Transcrição:

Faculdade do Pará-FAP Disciplina: Programação em Ambiente de Redes Professor: Armando Hage Introdução ao Shell Script Introdução O que é o Shell Shell Script Primeiro Script Recebendo Parâmetros Exercícios

Introdução O sistema UNIX foi concebido em diversas camadas. Hardware: Dispositivos Kernel: Gerneciamento e controle do Hardware Programas: realizam tarefas específicas Shell: responsável pela interação entre o usuário e o sistema operacional

O que é o Shell É o programa que lê o comando digitado pelo usuário e converte-o em uma forma mais simplificada e legível para o Sistema Operacional UNIX. Possui um linguagem interpretada, com comando de alto nível, que permite a construção de loop(laços), tomada de decisão, e de armazenamento de valores de variáveis. O Shell é o "prompt" da linha de comando do Linux, é o servo que recebe os comandos digitados pelo usuário e os executa. O Shell é aquele que aparece logo após se digitar a senha do usuário e entrar na tela preta do Linux. Ou na interface gráfica, ao clicar no ícone do Xterm ou do rxvt.

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 exatamente os mesmos que se digita no prompt, é tudo Shell. 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. É melhor fazer um script chamado "sistema" e colocar os comandos nele. Para que o script entre em execução ele precisa ter permissão de execução no sistema que pode ser realizada com o comando chmod + x sistema ou chmod 755 e ser colocado em execução com o coamando./sistema

O Shell é um programa interpretador de comandos que foi escrito em diferentes versões. Bourne Shell Shell padrão do UNIX. Escrito por Stephen Bourne da Bell Labs, também chamado de Standard Shell Representação para UNIX sh Bourne-Again Shell Shell padrão do Linux 100 % compatível com o Bourne Shell, com comandos adicionais para Korn Shell e C Shell. Representação para Linux é bash Korn Shell Desenvolvido por David Korn da Bell Labs da AT&T. Atualização do Bourne Shell, com maior número de comandos Representação para o UNIX é ksh C Shell Principais Shells Desnvolvido por Bill Joy da Berkeley University, sendo o mais utilizado em BSD

Cabeçalhos Inicias O caracter # é considerado comentário pelo interpretador de comandos. Mas quando a primeira linha de um script inicia por #!, o Shell entenderá que o que vem a seguir é o caminho(path) para o interpretador que será usudo pelo este script. Exemplos: #!/bin/bash #!/bin/sh #!/bin/awk #!/bin/sed

echo Realizando saídas na Tela Utilizado para realizar saídas na tela Para impressão de barra(\) deve-se colocar (\\) Texto em que se deseja evidenciar o espaço entre frases de estar entre aspas( ) Exemplo:$echo Neste texto foi $echo Neste texto não foi espaço desconsidera o espaço desconsidera o O que estiver entre crase(`) é um comando Exemplo: echo " Nome do coputador e `uname -n`" Saída: Nome do coputador e compuador1

Realizando saídas na Tela Exemplo de um script com mais recursos. #!/bin/bash echo "Data e Horário:" date echo echo "Uso do disco:" df echo echo "Usuários conectados:" w

Interagindo com o usuário Exemplo de um script com mais recursos e interação com o usuário. #!/bin/bash echo "Vou buscar os dados do sistema. Posso continuar?[sn]" read RESPOSTA test "$RESPOSTA" = "n" && exit echo "Data e Horário:" date echo echo "Uso do disco:" df echo echo "Usuários conectados:" w O conteúdo da variável é acessado colocando se um cifrão "$" na frente O comando test é muito útil para fazer vários tipos de checagens em textos e arquivos O operador lógico "&&", só executa o segundo comando caso o primeiro tenha sido OK. O operador inverso é o " "

Interagindo com o usuário Exemplo de um script com comentários #!/bin/bash # sistema script que mostra informações sobre o sistema # Autor: Fulano da Silva # Pede uma confirmação do usuário antes de executar echo "Vou buscar os dados do sistema. Posso continuar? [sn] " read RESPOSTA # Se ele digitou 'n', vamos interromper o script test "$RESPOSTA" = "n" && exit # O date mostra a data e a hora correntes echo "Data e Horário:" date echo # O df mostra as partições e quanto cada uma ocupa no disco echo "Uso do disco:" df echo # O w mostra os usuários que estão conectados nesta máquina echo "Usuários conectados:"

Definido Variáveis Para definir uma variável, basta usar o sinal de igual "=" e para ver seu valor, usa se o " echo": prompt$ VARIAVEL="um dois tres" prompt$ echo $VARIAVEL um dois tres prompt$ echo $VARIAVEL $VARIAVEL um dois tres um dois tres prompt$ Atenção:Não podem haver espaços ao redor do igual "="

Definido Variáveis É possível armazenar a saída de um comando dentro de uma variável. Ao invés de aspas, o comando deve ser colocado entre "$(...)" prompt$ HOJE=$(date) prompt$ echo "Hoje é: $HOJE" Hoje é: Sáb Abr 24 18:40:00 BRT 2004 prompt$ unset HOJE prompt$ echo $HOJE prompt$ Atenção:o comando "unset" apaga uma variável. Para ver quais as variáveis que o Shell já define por padrão, use o comando "env"

Detalhes de comandos Diferente de outras linguagens de programação, o Shell não usa os parênteses para separar o comando de seus argumentos, mas sim o espaço em branco. O formato de um comando é sempre: COMANDO OPÇÕES PARÂMETROS Exemplo: "cat" mostra o conteúdo de um arquivo. "cat n sistema" mostra o script sistema, com as linhas numeradas. O "read" é um comando do próprio Shell para leitura. "date"" é um executável do sistema.

Detalhes de comandos Use "man comando" ou "comando informações sobrecada um deles. help" para obter mais

Detalhes de comandos Em Shell é possível combinar comandos, aplicando os em seqüência, para formar um comando completo. Usando o pipe " " é possível canalizar a saída de um comando diretamente para a entrada de outro, fazendo uma cadeia de comandos. prompt$ cat /etc/passwd grep root cut c1 10 root:x:0:0 operator:x prompt$ cat - Mostra o arquivo todo grep- pega essa saída e extrai apenas as linhas que contêm a palavra "root" cut- extrai somente nessas linhas que o grep achou,extrai os 10 primeiros caracteres.

Detalhes de comandos É possível redirecionar a saída de um comando para um arquivo ao invés da tela, usando o operador ">". Para guardar a saída do comando anterior no arquivo "saida", o comando a ser exucutado deverá ser: prompt$ cat /etc/passwd grep root cut c1 10 > saida prompt$ cat saida root:x:0:0 operator:x prompt$

Detalhes de comandos O comando test Consegue fazer vários tipos de checagens, em números, textos e arquivos. Ele possui várias opções para indicar que tipo de teste será feito, algumas delas:

Detalhes de comandos Exercício Fazer o script "testa arquivos", que pede ao usuário para digitar um arquivo e testa se este arquivo existe. Se sim, diz se é um arquivo ou um diretório. Exemplo de uso prompt$ testa arquivos Digite o arquivo: /naoexiste O arquivo '/naoexiste' não foi encontrado prompt$ testa arquivos Digite o arquivo: /tmp /tmp é um diretório prompt$ testa arquivos Digite o arquivo: /etc/passwd /etc/passwd é um arquivo prompt$

Detalhes de comandos Resposta do Exercício #!/bin/bash echo n "Digite o arquivo: "; read ARQUIVO [ diretório" d "$ARQUIVO" ] && echo "$ARQUIVO é um [ f "$ARQUIVO" ] && echo "$ARQUIVO é um arquivo" [ f "$ARQUIVO" o d "$ARQUIVO" ] echo "O arquivo '$ARQUIVO' não foi encontrado" echo

Recebendo opções e parâmetros Dentro do script, algumas variáveis especiais são definidas automaticamente, em especial, "$1" contém o primeiro argumento recebido na linha de comando, "$2" o segundo, e assim por diante. #!/bin/sh # argumentos mostra o valor das variáveis especiais echo "O nome deste script é: $0" echo "Recebidos $# argumentos: $*" echo "O primeiro argumento recebido foi: $1" echo "O segundo argumento recebido foi: $2" prompt$./argumentos um dois três O nome deste script é:./argumentos Recebidos 3 argumentos: um dois três O primeiro argumento recebido foi: um O segundo argumento recebido foi: dois

Expressões Aritméticas O Shell também sabe fazer contas. A construção usada para indicar uma expressão aritmética é "$((...))", com dois parênteses. prompt$ echo $((2*3)) 6 prompt$ echo $((2*3 2/2+3)) 8 prompt$ NUM=44 prompt$ echo $((NUM*2)) 88 prompt$ NUM=$((NUM+1)) prompt$ echo $NUM 45

If, For e While Shell também tem estruturas para se fazer condicionais e loop. As mais usadas são if, for e while. o if testa um comando e não uma condição. if test "$VARIAVEL" gt 10 then echo "é maior que 10" else echo "é menor que 10" fi

If, For e While Há um atalho para o test, que é o comando [. if [ "$VARIAVEL" gt 10 ] then echo "é maior que 10" else echo "é menor que 10" fi o while é um laço que é executado enquanto um comando retorna OK. while test f /tmp/lock do sleep 1 done

If, For e While o for percorre uma lista de palavras, pegando uma por vez: for numero in um dois três quatro cinco do echo "Contando: $numero" done Uma ferramenta muito útil para usar com o for é o seq, que gera uma seqüência numérica. Para fazer o loop andar 10 passos, pode se fazer: for passo in $(seq 10)

Exercícios 1- Crie um Script Shell que leia dois números a ralação entre eles. prompt$./relacao.sh 3 5 3 é menor 5 prompt$./relacao.sh 5 3 5 é maior 3 prompt$./relacao.sh 5 5 5 é igual 5 2- Recebe um número como parâmetro e o diminui até chegar a zero, mostrando na tela cada passo, em uma mesma linha. prompt$./zerador.sh 5 5 4 3 2 1 0 prompt$./zerador.sh 10 10 9 8 7 6 5 4 3 2 1 0 Agora que você já teve o primeiro contato vá para apágina da disciplina e tente terminar os demais exercícios.