105 Shell Script. João Bosco Teixeira Junior

Documentos relacionados
Administração de Redes de Computadores

Introdução a Sistemas Abertos. Shell Script

Aula 9: Shell Script

Shell Script. Rafael Silva Guimarães

Aula 5 e 6: Introdução ao shell

Shell Script. Arthur, Luis Filipe, Rodrigo

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

Conceitos Básicos de Scripts

Shell Script. Básico do básico

Oficina de ShellScript

Scripts Shell. João Medeiros 1 / 20

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

Programação para Servidores. Cassio Diego

Programação Shell Script: como dominar seu terminal

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

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

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

Configuração do Interpretador de Comandos

Programação para Servidores. Cassio Diego

Redes de Computadores

Preparatório LPIC-1 Tópico 103

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

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

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

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

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

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

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

Introdução a shell scripts

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

Interpretadores de comandos. Interpretadores de comandos de login válidos. Caracteres especiais. José Pedro Oliveira

Introdução ao Shell Script

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal

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

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

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

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

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

Programação em Shell. Taisy Weber

Introdução a Sistemas Abertos. Ambiente shell

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

Introdução ao Shell-Script

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

Admistração de Redes de Computadores (ARC)

Shell Script. Diego R. Frank, Leonardo Seibt

Preparatório LPIC-101

CURSO LINUX Módulo Programação de Shell Scripts por Celso Kopp Webber

Shell scripts - Bash

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

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

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

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

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

Arquitetura de Computadores

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

Programação Shell Script: como dominar seu terminal

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

Aula 04 - Hackeando a linha de comando

Noções de Informática

GFM015 Introdução à Computação

Curso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For.

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang

Aula 02. Introdução ao Linux

Plano de Aula - Lógica de Programação - cód Horas/Aula

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

LUA. Deise Miranda Douglas Neves Luane Gomes Naara Soares

CURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres

Compilador de LP3 para C3E e P3

Instalação e Configuração de Servidores Linux Server Pós-Instalação. Prof. Alex Furtunato

Organização de programas em Python. Vanessa Braganholo

Laboratório 3 Comandos de repetição while, do-while e for

WINDOWS. 1. Baixar o software cwrsync e efetuar a instalação.

Transcrição:

105 Shell Script João Bosco Teixeira Junior

Compilação x interpretação Compilação Fontes Geração do código Pré Processador Compilador Montador(Assembler) Bibliotecas Compartilhadas Ligador (Linker) Executável

Compilação x interpretação (cont...) Compilação Execução Executável Sistema operacional HW

Compilação x interpretação (cont...) Interpretação Execução Fontes Interpretador SO HW

Scripts - Vantagens Não precisa compilar ;) Orientado a comandos (Bash) Todo SO tem uma linguagem!

Scripts Interpretado Interpretador de comandos Interativos Requer resposta Não interativos Rodam sem intervenção Podem ser agendados. Ex.: Backup Monitoramento (Email, SMS) Instalação automática de aplicativos

Shell Scripting Interpretadores de Comandos Tcsh Ash Csh Bsh Dash Bash

Shell Scripting (cont...) Bash Projeto Livre Padrão na maioria das distribuições Linux Linguagem de Programação embutida Conceitos Interpretador de Comandos Prompt Working Directory Aliases Variáveis de Ambiente

Shell Scripting (cont...) Prompt do Interpretador de comando Formato [aluno@debian: Diretório_corrente ]$ usuário@maquina diretório corrente Acesso após o login Usado para fazer requisições ao SO Criar ou remover arquivos Acessar um recurso da rede Criar ou remover usuário Iniciar um aplicativo Criar processos diversos

Shell Scripting (cont...) Working directory Diretório de Trabalho Usado em caso de omissão do caminho Comando: pwd aluno@debian:~ $ pwd /home/aluno

Shell Scripting (cont...) Aliases (Apelido) Variáveis especiais criadas para substituir comandos Comando alias copy = 'cp' aluno@debian:~ $ copy a.txt b.txt bash: copy: comando não encontrado aluno@debian:~ $ alias copy = 'cp' aluno@debian:~ $ copy a.txt b.txt aluno@debian:~ $

Shell Scripting (cont...) Variáveis de Ambiente Variáveis usadas para fornecer um profile ao usuário. Ajustadas normalmente em tempo de login Arquivos /etc/bashrc ~./bashrc /etc/profile ~./bash_profie aluno@debian:~ $ echo $PATH :/bin/:/usr/bin/:/usr/local/bin aluno@debian:~ $ echo $CWD /home/aluno

Shell Scripting (cont...) Estrutura de um script Definição: Sequência de comandos em um arquivo texto Interpretador Comentário Comando #!/bin/bash # Isso é um comentário echo isso é um teste

Shell Script (Cont...) Interpretador de Comandos Interface entre o usuário e o SO Sessão Preferencias do usuário Informações Quando Usar o '$'? Acesso a variáveis de ambiente aluno@teste:~$ echo $USER aluno aluno@teste:~$ TMOUT=10 aluno@teste:~$ echo $TMOUT 10

Shell Script Estrutura de script aluno@debian# pico script.sh Interpretador Comentário Comando #!/bin/bash # Isso é um comentário echo isso é um teste aluno@debian# script.sh O que houve?

Shell Script Lendo entrada do teclado #!/bin/bash echo entre um número read VALOR echo o valor foi $VALOR aluno@debian#./script.sh Atividade: Faça um script que leia do teclado o seu nome e depois e seu sobrenome, depois imprima: ola [nome] [sobrenome] Tempo 5 min

Shell Script Passando parâmetros para um script aluno@debian#./script par1 par2... parn $0 $1 $2 $N #!/bin/sh echo comando: $0 echo Parametro 1: $1 echo Parametro 2: $2 echo no total foram passados $# parametros $* ou $@ aluno@debian# chmod u+x./script2.sh aluno@debian#./script2.sh

Shell Script Expressões Aritméticas aluno@debian# A=10 aluno@debian# B=20 Formas de avaliação expr let $(()) aluno@debian# expr $A + $B aluno@debian# let C= $A+$B aluno@debian# echo $C aluno@debian# echo $(($A+$B))

Shell Script Variáveis Revisitadas Direcionando a saída de um comando para uma variável aluno@debian# A=`ls` aluno@debian# A=$(ls)

Shell Script Fazendo testes com números, textos e arquivos Comando: test $ test 0 -lt 1 $ test -z $VAR $ test -x /etc/hosts

Shell Script Fazendo testes com números, textos e arquivos Atalho pro comando test $ [ 0 -lt 1 ] $ [ -z $VAR ] $ [ -x /etc/hosts ] Obs.: Sempre deixar espaços depois do [ e antes de ]

Shell Script Tomada de decisão Comando: if if comando then... elif comando then... else... fi Condição Teste ex: if [ x /bin/ls ] then ; fi Comando ex: if ls ; then ; fi

Shell Script Tomada de decisão Comando case case $VAR in Valor1)... ;; Valor2)... ;; *)... ;; esac

Shell Script Laços Comando for Percorre uma lista pegando os elementos um a um for VAR in LISTA do... comandos... done Comando seq Gera a lista em caso de necessidade for numero in seq 1 10 do echo "Contando: $numero" done

Shell Script IFS - Internal Field Separator Variável de Ambiente que define o caractere de separação dos campos #set grep IFS

Shell Script Laços Comando while While comando do... comandos... done A mesma coisa que foi feita com o comando for i=0 while test $i -le 10 do i=$((i+1)) echo "Contando: $i" done

Shell Script Funções Por que usar? Modularização Reuso Declaração nome_da_funcao() {... Comandos;... }

Shell Script Funções (Cont...) Passagem de parâmetros... nome_da_funcao par1 par2 par3... Declaração nome_da_funcao() {... Comando $1 Comando $2 $3... }