Iº Workshop Linux da Unijorge

Download Iº  Workshop Linux da  Unijorge

Post on 24-Feb-2016

25 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

I Workshop Linux da Unijorge. Shell Script. Tpicos a serem abordados:. prompt. Apresentao O que Shell? Shell Script Primeiros Scripts Comandos Bsicos Sada na Tela Interao com Usurio Variveis Exerccio Conceitos mais Avanados Recebimento de Parmetros - PowerPoint PPT Presentation

TRANSCRIPT

Slide 1

I Workshop Linux da UnijorgeShell ScriptTpicos a serem abordados:ApresentaoO que Shell?Shell Script

Primeiros ScriptsComandos BsicosSada na TelaInterao com UsurioVariveisExerccio

Conceitos mais AvanadosRecebimento de ParmetrosIf, Case, For e WhileExerccio

!# /bin/shpromptLinuxLinguagem Interpretadaechodatedfwpwdread$1if thentarX=$((1+2+3))manTpicos a serem abordados:Comandos AvanadosBackupComando TarComando cpRedirecionamento de E/SPipelinesVariveis com ArgumentosFunesComando cutComandos cat e tacComando grepComando headComando nlComando pasteComando sortComando tailComando tr

tar.gzcp /hometar -czpfShell pode ser definido como o interpretador de instrues e comandos, no nosso caso, do Linux. Quando o usurio ou sistema executa qualquer comando, o Shell responsvel pela correta 'interpretao' deste. No para menos que ele conhecido como 'interpretador de comandos'. O que Shell?

O que Script?Scripts, podem ser definidos como arquivos executveis, com instrues definidas, conhecidas e claras, que so executadas por um interpretador.

Ento Shell + Script = ?Podemos ento chegar a concluso que Shell Script nada mais do que um arquivo texto que pode ser executado (ativando seu bit de execuo x) , que contm instrues claras e definidas seqencialmente, escritas de forma que o interpretador Shell possa ler e interpretar.

Antes do Primeiro ScriptSe voc est acessando o sistema como usurio administrador (root), saia e entre como um usurio normal. muito perigoso estudar shell usando o superusurio, voc pode danificar o sistema com um comando errado.

O primeiro Script agente nunca esquece Passos de um Script1. Escolher o diretrio onde colocar o script3. Criar o arquivo e colocar nele os comandos4. Colocar a chamada do shell na primeira linha5. Tornar o script um arquivo executvel2. Escolher um nome para o scriptProblemas na execuo do Script?

O nome do seu Script no foi encontrado no diretrio que voc se encontra. Isso quer dizer que ou o nome foi digitado errado ou ele no existe naquele diretrio.

O shell encontrou seu script, mas ele no executvel.Use o comando "chmod +x seu-script" para torn-lo um arquivo executvel.

Esse dispensa comentrios, reveja seus comandos. O interpretador no vlida lgica, mas exige que a sintaxe dos comandos esteja 100% correta.Mos a Obra!Vamos escrever um script que informe a data, tamanho do espao em disco, usurios logados, diretrio corrente e lista arquivos do diretrio.#!/bin/bash

date

df

w

pwd

ls l

Melhorando nosso Script#! /bin/sh

echo " A data de hoje : "; datesleep 03

echo " O espao livre em disco : "; dfsleep 03

echo " Usurios logados: "; wsleep 03

echo " O diretrio onde voc se encontra : "; pwdsleep 03

echo O contedo desse diretrio : ; ls -lInteragindo com o Usurio

O comando read permite que uma sequencia de caracteres digitados sejam armazenadas em uma varivel.

*Varivel Na programao, uma varivel uma entidade (uma posio, frequentemente localizada na memria) capaz de reter e representar um valor ou expresso. Enquanto as variveis s "existem" em tempo de execuo, elas so associadas a "nomes", chamados identificadores, durante o tempo de desenvolvimento.Comando READ O Shell permite a criao de variveis

s variveis so atribudas valores que so cadeias de caracteres

No existe a definio de tipo de varivel

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

Letras Nmeros Sublinhados

Exemplo: um, var, VAR, VAR1, VAR_1, _var. Uma varivel criada no momento que realizado uma atribuio.Variveis Criao e atribuio de valoresvar=esta uma stringvar=estaeumastringvar=1

Um detalhe importante: NO PODE EXISTIR ESPAOS ENTRE OS ELEMENTOS DA DECLARAO/ATRIBUIO

Quando a string atribuda a varivel possuir espaos, necessrio a utilizao de aspas duplas no incio e no final da string.

As variveis so case-sensitive, isto , existe diferenas entre maisculas e minsculas.

Exemplo: var, Var, vaR, vAr.Variveis#! /bin/bash

echo "digite uma varivel: "read var1 var2 var3

echo "Primeira varivel --> $var1"echo "Segunda varivel --> $var2"echo "Terceira varivel --> $var3Aplicao do Comando ReadSo variveis que so utilizadas para referenciar argumentos passados para um procedimento Shell. Essas variveis so inicializadas pelo Shell na execuo do comando.

As variveis so:

$# - Nmero de parmetros posicionais escritos na linha de comando

$0 Nome do Script que est sendo executado

$1 .... $9 Parmetros posicionais

$* - Lista que contm o conjunto dos argumentos passados para a rotina Shell.Variveis com ArgumentosMos a Obra!Vamos escrever um script onde sero passados no momento da execuo 04 (quatro) parmetros, que deveram ser exibidos na tela no momento da execuo juntamente com o nome do script e o nmero de argumentos que foram passados.

#! /bin/bash

echo Voc passou $# parmetros

echo O parmetro zero o nome da rotina que $0

echo O primeiro parmetro $1

echo O segundo parmetro $2

echo A lista de parmetros $*At o momento todos os comandos foram executamos sequencialmente.O Shell permite a utilizao de comandos de controle de fluxo.

Decisoifcase

RepetiowhileforControle de Fluxoif [ condio ]then

se condio for verdadeira execute todos os comandos at o else

else

se condio no verdadeira execute todos os comandos at o fi

fi

** condio a comparao entre dois valores

** observar sempre o formato [xcondiox], onde x corresponde a um espao.CondicionalCondicionalIf [ condio ]thense condio verdadeira execute todos os comandos at elif

elif [ condio ]then

se condition1 verdadeiro execute todos os comandos at elif

elif [ condio ]then

se condition2 verdadeiro execute todos os comandos at elif

else

Nenhuma das condies acima so verdadeiras execute todos os comandos at fi

fiOperadores de Comparao Numricos

-eqIgual-neDiferente-leMenor igual-ltMenor que-geMaior igual-gtMaior queOperadores de Comparao AlfaNumricos

=Igual!=Diferente-zString sem Contedo-nString com Contedo#! /bin/bash

echo Digite o nome do diretrio/arquivo que deseja verificar: read entrada

if [ -d entrada]then

echo um diretrio! elif [ -f entrada ]then

echo um arquivo! else

echo Nenhum diretrio ou arquivo foi encontrado com esse nome! fiMos a Obra!

Escreva um script onde ser fornecido como entrada um nome de um diretrio ou arquivo e o script far uma busca para informar qual a natureza do entrada fornecida.case $varivel in

padro1) comando comando;;

padro2) comando comando;;

padroN) comando comando;;

*) commando commando;;

esacDeciso com Mltiplas EscolhasDeciso com Mltiplas Escolhas#!/bin/bash

echo "Menu de Escolha "echo "1 - Incluso "echo "2 - Consulta"echo "3 - Excluso"echo "4 - Alterao"echo "5 - Fim"echo "Escolha uma opo -> "read op

case $op in

1)echo "Voc escolheu a opo Incluso";; 2)echo Voc escolheu a opo Consulta";; 3)echo Voc escolheu a opo Excluso";; 4)echo Voc escolheu a opo Alterao";; 5)echo Voc escolheu a opo Fim";; *)echo Voc escolheu uma opo invlida";;

esacRepetio - for#! /bin/bash

echo " Digite quantos cadastros deseja realizar: "read qt_cadfor ((i=1;i lista.txt echo " Idade: $idade " >> lista.txt echo " Sexo: $sexo" >> lista.txt echo

doneRedirecionamento de E/S