iº workshop linux da unijorge shell script. tópicos a serem abordados: apresentação o que é...

30
Iº Workshop Linux da Unijorge Shell Script

Upload: geovane-de-cotis

Post on 07-Apr-2016

220 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

Iº Workshop Linux da Unijorge

Shell Script

Page 2: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

Tópicos a serem abordados: Apresentação

O que é Shell? Shell Script

Primeiros Scripts Comandos Básicos Saída na Tela Interação com Usuário Variáveis Exercício

Conceitos mais Avançados Recebimento de

Parâmetros If, Case, For e While Exercício

!# /bin/shprompt

Linux

Linguagem Interpretada

echo

datedfw

pwd read

$1 if then

tarX=$((1+2+3))

man

Page 3: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

Tópicos a serem abordados: Comandos Avançados

Backup Comando Tar Comando cp

Redirecionamento de E/S Pipelines Variáveis com Argumentos Funções Comando cut Comandos cat e tac Comando grep Comando head Comando nl Comando paste Comando sort Comando tail Comando tr

tar.gz

cp /home

tar -czpf

Page 4: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

Shell pode ser definido como o interpretador de instruções e comandos, no nosso caso, do Linux. Quando o usuário ou sistema executa qualquer comando, o Shell é responsável pela correta 'interpretação' deste. Não é para menos que ele é conhecido como 'interpretador de comandos'.

O que é Shell?

Page 5: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

O que é Script?

Scripts, podem ser definidos como arquivos executáveis, com instruções definidas, conhecidas e claras, que são executadas por um interpretador.

Page 6: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

Então Shell + Script = ?

Podemos então chegar a conclusão que Shell Script nada mais é do que um arquivo texto que pode ser executado (ativando seu bit de execução “x”) , que contém instruções claras e definidas seqüencialmente, escritas de forma que o interpretador Shell possa ler e interpretar.

Page 7: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

Antes do Primeiro Script

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.

Page 8: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

O primeiro Script agente nunca esquece Passos de um Script1. Escolher o diretório onde colocar o script

3. Criar o arquivo e colocar nele os comandos

4. Colocar a chamada do shell na primeira linha

5. Tornar o script um arquivo executável

2. Escolher um nome para o script

Page 9: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

Problemas na execução do Script?

O nome do seu Script não foi encontrado no diretório que você se encontra. Isso quer dizer que ou o nome

foi digitado errado ou ele não existe naquele diretório.

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.

Esse dispensa comentários, reveja seus comandos. O interpretador não válida lógica, mas exige que a sintaxe dos comandos esteja 100%

correta.

Page 10: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

Mãos a Obra!Vamos escrever um script que informe a data,

tamanho do espaço em disco, usuários logados, diretório corrente e lista arquivos do diretório.

#!/bin/bash

date

df

w

pwd

ls –l

Page 11: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

Melhorando nosso Script#! /bin/sh

echo " A data de hoje é: "; datesleep 03

echo " O espaço livre em disco é: "; dfsleep 03

echo " Usuários logados: "; wsleep 03

echo " O diretório onde você se encontra é: "; pwdsleep 03

echo “ O conteúdo desse diretório é: “; ls -l

Page 12: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

Interagindo com o Usuário

O comando read permite que uma sequencia de caracteres digitados sejam armazenadas em uma variável.

*Variável – Na programação, uma variável é uma entidade (uma posição, frequentemente localizada na memória) capaz de reter e representar um valor ou expressão. Enquanto as variáveis só "existem" em tempo de execução, elas são associadas a "nomes", chamados identificadores, durante o tempo de desenvolvimento.

Comando READ

Page 13: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

O Shell permite a criação de variáveis

Às variáveis são atribuídas valores que são cadeias de caracteres

Não existe a definição de tipo de variável

O nomes de variáveis devem obrigatoriamente iniciar com uma letra ou sublinhado podem ser formadas por:

Letras Números Sublinhados

Exemplo: um, var, VAR, VAR1, VAR_1, _var. Uma variável é criada no momento que é realizado uma atribuição.

Variáveis

Page 14: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

Criação e atribuição de valoresvar=”esta é uma string”var=estaeumastringvar=1

Um detalhe importante: NÃO PODE EXISTIR ESPAÇOS ENTRE OS ELEMENTOS DA DECLARAÇÃO/ATRIBUIÇÃO

Quando a string atribuída a variável possuir espaços, é necessário a utilização de aspas duplas no início e no final da string.

As variáveis são case-sensitive, isto é, existe diferenças entre maiúsculas e minúsculas.

Exemplo: var, Var, vaR, vAr.

Variáveis

Page 15: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

#! /bin/bash

echo "digite uma variável: "read var1 var2 var3

echo "Primeira variável --> $var1"echo "Segunda variável --> $var2"echo "Terceira variável --> $var3”

Aplicação do Comando Read

Page 16: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

São variáveis que são utilizadas para referenciar argumentos passados para um procedimento Shell. Essas variáveis são inicializadas pelo Shell na execução do comando.

As variáveis são:

$# - Número de parâmetros posicionais escritos na linha de comando

$0 – Nome do Script que está sendo executado

$1 .... $9 – Parâmetros posicionais

$* - Lista que contém o conjunto dos argumentos passados para a rotina Shell.

Variáveis com Argumentos

Page 17: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

Mãos a Obra!Vamos escrever um script onde serão passados

no momento da execução 04 (quatro) parâmetros, que deveram ser exibidos na tela no momento da execução juntamente com o nome do script e o número de argumentos que foram passados.

#! /bin/bash

echo “Você passou $# parâmetros”

echo “O parâmetro zero é o nome da rotina que é $0”

echo “O primeiro parâmetro é $1”

echo “O segundo parâmetro é $2”

echo “A lista de parâmetros é $*”

Page 18: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

Até o momento todos os comandos foram executamos sequencialmente.O Shell permite a utilização de comandos de controle de fluxo.

Decisão ifcase

Repetiçãowhile for

Controle de Fluxo

Page 19: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

if [ condição ]then

se condição for verdadeira execute todos os comandos até o else

else

se condição não é verdadeira execute todos os comandos até o fi

fi

** condição é a comparação entre dois valores

** observar sempre o formato [xcondiçãox], onde x corresponde a um espaço.

Condicional

Page 20: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

CondicionalIf [ condição ]then

se condição é verdadeira execute todos os comandos até elif

elif [ condição ]then

se condition1 é verdadeiro execute todos os comandos até elif

elif [ condição ]then

se condition2 é verdadeiro execute todos os comandos até elif

else

Nenhuma das condições acima são verdadeiras execute todos os comandos até fi

fi

Page 21: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

Operadores de Comparação Numéricos

-eq Igual

-ne Diferente

-le Menor igual

-lt Menor que

-ge Maior igual

-gt Maior que

Page 22: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

Operadores de Comparação AlfaNuméricos

= Igual

!= Diferente

-z String sem Conteúdo

-n String com Conteúdo

Page 23: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

#! /bin/bash

echo “ Digite o nome do diretório/arquivo que deseja verificar: ”read entrada

if [ -d entrada]then

echo “ É um diretório! ”elif [ -f entrada ]then

echo “ É um arquivo! ”else

echo “ Nenhum diretório ou arquivo foi encontrado com esse nome! ”fi

Mãos a Obra!Escreva um script onde será fornecido como entrada um nome de um diretório ou arquivo e o script fará uma busca para informar qual a natureza do entrada fornecida.

Page 24: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

case $variável in

padrão1) comando comando;;

padrão2) comando comando;;

padrãoN) comando comando;;

*) commando commando;;

esac

Decisão com Múltiplas Escolhas

Page 25: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

Decisão com Múltiplas Escolhas#!/bin/bash

echo "Menu de Escolha "echo "1 - Inclusão "echo "2 - Consulta"echo "3 - Exclusão"echo "4 - Alteração"echo "5 - Fim"echo "Escolha uma opção -> "read op

case $op in

1)echo "Você escolheu a opção Inclusão";; 2)echo “Você escolheu a opção Consulta";; 3)echo “Você escolheu a opção Exclusão";; 4)echo “Você escolheu a opção Alteração";; 5)echo “Você escolheu a opção Fim";; *)echo “Você escolheu uma opção inválida";;

esac

Page 26: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

Repetição - for#! /bin/bash

echo " Digite quantos cadastros deseja realizar: "read qt_cadfor ((i=1;i<=qt_cad;i++))do clear echo " Valor de i= $i" echo " Digite o nome: " read nome echo " Digite a idade: " read idade echo " Digite o sexo: " read sexo

done

Page 27: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

Repetição - while#! /bin/bash echo " Digite quantos cadastros deseja realizar: "read qt_cad while [ $qt_cad -gt 0 ]do clear echo " Valor de qt_cad = $qt_cad" echo " Digite o nome: " read nome echo " Digite a idade: " read idade echo " Digite o sexo: " read sexo  qt_cad=$(($qt_cad-1)) echo "Quantidade restante: $qt_cad" sleep 01  done

Page 28: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

Fazendo Backup com tar e cp#! /bin/bash

op=0while [ $op -ne 3 ]do

echo " Escolha uma das opções abaixo: "echo " [1] - Backup com compressão "echo " [2] - Backup sem compressão "echo " [3] - Sair"read opcase $op in

1)echo "Digite o diretório de origem: " read origem echo "Digite o diretório de destino: " read destino tar -zcvf $destino\/backup.tar.gz $origem;;

2)echo "Digite o diretório de origem: " read origem echo "Digite o diretório de destino: " read destino cp -va $origem $destino;;

3)exit;; *)echo " Opção Inválida! "

esacdone

Page 29: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída

#! /bin/bash

echo " Digite quantos cadastros deseja realizar: "read qt_cadfor ((i=1;i<=qt_cad;i++))do clear echo " Valor de i= $i" echo " Digite o nome: " read nome echo " Digite a idade: " read idade echo " Digite o sexo: " read sexo echo " Nome: $nome " >> lista.txt echo " Idade: $idade " >> lista.txt echo " Sexo: $sexo" >> lista.txt echo

done

Redirecionamento de E/S

Page 30: Iº Workshop Linux da Unijorge Shell Script. Tópicos a serem abordados: Apresentação O que é Shell? Shell Script Primeiros Scripts Comandos Básicos Saída