Scripts Shell. João Medeiros (joao.fatern@gmail.com) 1 / 20



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

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

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

Shell Script. Rafael Silva Guimarães

Introdução ao Shell Script

Introdução a Sistemas Abertos. Shell Script

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

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

Administração de Redes de Computadores

Oficina de ShellScript

Como Internacionalizar Scripts Bash

Introdução ao. Script. Baltazar Tavares (Psycho Mantys)

Programação Shell. Estrutura de um shell script. Programação em Redes Ver: 1.0

UFRJ IM - DCC. Departamento de Ciência da Computação. Tópicos Especiais em Programação. 14/10/2013 Profª Valeria Menezes Bastos 1

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

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

Programação. Instrutor Airton Kuada - airton@fesppr.br Curitiba, julho de 2004


105 Shell Script. João Bosco Teixeira Junior

Aula 9: Shell Script

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

Automatizando com Shell Script: uma breve introdução prática à poderosa linguagem de comandos do mundo *nix. Daniel Bauermann

CET GRSI Sistema Operativo de Rede. António Paulo Santos

Sistemas Operacionais de Rede Linux - Gerenciamento de Arquivos

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

Aula 5 e 6: Introdução ao shell

Configuração do Interpretador de Comandos

Internet e Programação Web

Práticas de Desenvolvimento de Software

Programação para Servidores. Cassio Diego

MÉTRICAS DE REDE NO ZABBIX

Aula 02. Introdução ao Linux

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

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

shell Korn shell (ksh) ksh Universidade Federal da Bahia Centro de Pesquisa em Geofísica e Geologia Sistema de Informática Korn shell

Redes de Computadores

Shell Script. Arthur, Luis Filipe, Rodrigo

Programando em C++ Histórico da Linguagem C

Programação em Shell Script (Linux Administration) Jacson RC Silva <jeiks>

Programação WEB II. Conhecendo o PHP. Prof: Kelly E. Medeiros Bacharel em Sistema de Informação. Módulo III

Arte em ASCII. Introdução: Python

Conceitos Básicos de Scripts

Programação Shell Script: como dominar seu terminal (versão 2)

ATENÇÃO: Este manual foi feito para usuários que tenham conhecimentos de administrador Linux.

Aula 01 Visão Geral do Linux

Instalando e Executando o Siprev em Ambiente Linux Versão SIPREV

Fundamentos e Prática em Informática LINUX Gerenciamento de Usuários e Grupos

Programação Shell Script: como dominar seu terminal

Shell Script. Andre Luiz Giuliano Lacerda

O tripwire e a integridade de sistemas GNU/Linux

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

Estrutura de um Sistema Linux Moderno Padrões de um Sistema Linux. Prof. Claudio Silva

Iniciando PHP. Agenda

Comandos Básicos do Linux/Unix

Shell Script. Básico do básico

7. Estrutura de Decisão

Compartilhando arquivos com o samba

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

Shell Script Melhorando tarefas. Daniel Bauermann

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

Comandos de repetição while

Programação Web Prof. Wladimir

Introdução ao Shell Script

Programação WEB II. Formulários Em PHP. Métodos GET e POST progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

INTRODUÇÃO À LINGUAGEM C++

Martin Vincent Bloedorn. GNU/Linux

Bem vindo Joe Ramone!

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

O que é uma rede de computadores?

Programação em Shell. Taisy Weber

5 Apresentando a linguagem C

Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo;

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

Introdução ao Shell-Script

SISTEMAS OPERATIVOS I

Este tutorial ensina a enviar um através de um script PHP, a partir de um interface em Flash.

Programação Shell Script: como dominar seu terminal

Curso de Linux Básico com o Linux Educacional

Comandos remotos via agente Zabbix

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

Mecanismos de QoS em Linux Hierarchical Token Bucket (HTB)

FAM - Monitorar alteração de arquivos

Convertendo Algoritmos para a Linguagem C

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede

Manual de Autocorreção Módulo 06 Tarefa 02

Programando em shell-script 1. Primeira parte, uma introdução

Assinatura ainda não verificada

MRTG Multi Router Traffic Grapher

Envio de SMS usando Zenvia

Manipulando Strings no VBA (Replace, Mid e InStr)

Ruby. Simplicidade e produtividade

Transcrição:

Scripts Shell João Medeiros (joao.fatern@gmail.com) 1 / 20

2 / 20

Principais shell conhecidos Bourne Shell (sh) Korn Shell (ksh) C Shell (csh) Bash - Bourne Again Shell (bash) mais utilizada no linux O Bash é o shell desenvolvido para o projecto GNU, da Free Software Foundation, que se tornou padrão nas várias distribuições Linux. Pode ser usado também com outros sistemas operacionais, como o Unix. É compatível com o Bourne shell (sh), incorporando os melhores recursos do C shell (csh) e do Korn Shell (ksh). (Fonte http://pt.wikipedia.org/wiki/bash) vskip 1.0in Consulte http://aurelio.net/shell/canivete.html 3 / 20

Arquivo contendo uma série de comandos. Executando um script Como fonte: na linha de comandos digite$ bash hello, onde hello é o nome do arquivo que contém o script na linha de comandos digite um ponto seguido de espaço e do nome do script Como executável: $. hello Indicar qual o shell na primeira linha do script #!/bin/bash Atribuir a permissão de execução ao script $ chmod a+x hello Executar o script com $ hello (funciona apenas se o diretório. faz parte do PATH) ou $./hello 4 / 20

Primeiro script #!/bin/bash echo "Alo" echo "Qual o seu nome? " read nome echo "Alo $nome" Salve com o nome hello, altere a permissão com chmod +x hello e execute-o das três maneira mencionadas acima comando read criou uma variável (nome). Para usar o valor da variável acrescentamos o $. 5 / 20

#!/bin/bash echo "calculando x * y" echo "digite o valor de x" read x echo "digite o valor de y" read y echo "x*y = $x*$y = $[x*y]" Tudo que estiver entre [ e ] será avaliado como uma expressão numérica (+,-,*,/). podemos usar até mesmo na linha de comandos, tente $ echo $[12/3] ou $ echo $[3*5_2*4+1] podemos usar também o comando expr. 6 / 20

Podemos usar laços nos scripts, por exemplo o comando while executa uma sequência de comando várias vezes #!/bin/bash N=1 while test "$N" -le "10" do echo "Numero $N" N=$[N+1] done -le significa menor ou igual, acesse http://aurelio.net/shell/canivete.html#test para uma relação mais completa 7 / 20

#!/bin/bash for i in vaca ovelha galinha porco do echo "$i e um animal da fazenda" done O comando for pega cada string após o in e executa as linhas entre do e done. As strings podem ser qualquer coisa, mesmo números. Na maioria das vezes são nomes de arquivos. 8 / 20

if [ condicoes de teste ] then processa1 elif [ outra condicao de teste] then processa2 else processa3 fi Exemplo if [ -r arquivo ] then cat arquivo else echo "arquivo nao existe" fi 9 / 20

Scripts com argumentos #!/bin/bash if test "$1" = "" ; then echo "Usage: backup.sh <filename>" exit fi for i in 0 1 2 3 4 5 6 7 8 9 ; do NEW_FILE=$1.BAK-$i if test -e $NEW_FILE ; then echo "backup.sh: **aviso** $NEW_FILE, indo para proximo" else cp $1 $NEW_FILE fi done Crie um arquivo chamado dados_importantes com qualquer conteúdo, exe./backup.sh dados_importantes Voc^e obterá 10 cópias do arquivo 10 / 20

#!/bin/bash for i in 0 1 2 3 4 5 6 7 8 9 ; do NEW_FILE=$1.BAK-$i if test -e $NEW_FILE ; then echo "backup: **aviso** $NEW_FILE" echo " ja existe, saindo" else cp $1 $NEW_FILE fi done 11 / 20

#!/bin/bash for i in 0 1 2 3 4 5 6 7 8 9 ; do NEW_FILE=$1.BAK-$i if test -e $NEW_FILE ; then echo "backup: **aviso** $NEW_FILE" echo " ja existe" continue else cp $1 $NEW_FILE fi done 12 / 20

#!/bin/sh for i in /etc/*/*.conf do echo "encontrou arquivo:" $i done 13 / 20

Util para receber argumentos em programas case $variavel in valor1) acao1 ;; valor2 valor3) acao2 ;; *) acao default ;; esac Veja script 08. 14 / 20

#!/bin/sh function usage () { echo "Utilize:" echo " programa [--test --help --version]" } usage Veja script 09 15 / 20

Muitos programas t^em que lidar com vários argumentos #!/bin/bash echo "primeiro argumento $1 segundo argumento $2..." que pode ser executado como $programa terra marte com saida do tipo primeiro argumento terra segundo argumento marte..." Se tivermos muitos argumentos? utilize shift while test "$1"!= "" ; do echo $1 shift done Veja script 10 16 / 20

Enquanto $1, $2, são argumentos individuais, $@ expande para todos os argumentos. Útil para passar todos os argumentos restantes para um segundo programa if test "$1" = "--special" ; then shift programa2 "$@" fi $0 é o nome do programa em si e não um argumento da linha de comandos. $0 não é afetado pelo shift 17 / 20

Exemplo de subshell host= hostname echo $host 18 / 20

Resolva os exercícios da apostila obtida na referência [2] http://aurelio.net/shell/apostila-introducao-shell.pdf 19 / 20

[1] http://aurelio.net/canivete [2] http://aurelio.net/shell/apostila-introducao-shell.pdf 20 / 20