A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Iº Workshop Linux da Unijorge

Apresentações semelhantes


Apresentação em tema: "Iº Workshop Linux da Unijorge"— Transcrição da apresentação:

1 Iº Workshop Linux da Unijorge
Shell Script

2 Tópicos a serem abordados:
prompt 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 !# /bin/sh Linux Linguagem Interpretada pwd read echo man w df date then if $1 X=$((1+2+3)) tar

3 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 tar -czpf cp /home

4 O que é Shell? 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'.

5 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.

6 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.

7 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.

8 O primeiro Script agente nunca esquece
Passos de um Script 1. Escolher o diretório onde colocar o script 2. Escolher um nome para 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

9 O shell encontrou seu script, mas ele não é executável.
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.

10 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

11 Melhorando nosso Script
#! /bin/sh echo " A data de hoje é: "; date sleep 03 echo " O espaço livre em disco é: "; df echo " Usuários logados: "; w echo " O diretório onde você se encontra é: "; pwd echo “ O conteúdo desse diretório é: “; ls -l

12 Interagindo com o Usuário
Comando READ 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.

13 Variáveis 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.

14 Variáveis Criação e atribuição de valores var=”esta é uma string”
var=estaeumastring var=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.

15 Aplicação do Comando Read
#! /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”

16 Variáveis com Argumentos
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 $ $9 – Parâmetros posicionais $* - Lista que contém o conjunto dos argumentos passados para a rotina Shell.

17 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 é $*”

18 Controle de Fluxo Até o momento todos os comandos foram executamos sequencialmente. O Shell permite a utilização de comandos de controle de fluxo. Decisão if case Repetição while for

19 Condicional ** condição é a comparação entre dois valores
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.

20 Condicional If [ condição ] then
se condição é verdadeira execute todos os comandos até elif elif [ condição ] se condition1 é verdadeiro execute todos os comandos até elif 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

21 Operadores de Comparação Numéricos
-eq Igual -ne Diferente -le Menor igual -lt Menor que -ge Maior igual -gt Maior que

22 Operadores de Comparação AlfaNuméricos
= Igual != Diferente -z String sem Conteúdo -n String com Conteúdo

23 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. #! /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 ] echo “ É um arquivo! ” else echo “ Nenhum diretório ou arquivo foi encontrado com esse nome! ” fi

24 Decisão com Múltiplas Escolhas
case $variável in padrão1) comando comando;; padrão2) comando padrãoN) comando *) commando commando;; esac

25 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

26 Repetição - for #! /bin/bash
echo " Digite quantos cadastros deseja realizar: " read qt_cad for ((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

27 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

28 Fazendo Backup com tar e cp
#! /bin/bash op=0 while [ $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 op case $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: " cp -va $origem $destino;; 3)exit;; *)echo " Opção Inválida! " esac done

29 Redirecionamento de E/S
#! /bin/bash echo " Digite quantos cadastros deseja realizar: " read qt_cad for ((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

30


Carregar ppt "Iº Workshop Linux da Unijorge"

Apresentações semelhantes


Anúncios Google