1 / 30

Iº Workshop Linux da Unijorge

Iº Workshop Linux da Unijorge. Shell Script. 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

wren
Télécharger la présentation

Iº Workshop Linux da Unijorge

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 • Exercício !# /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. 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 sleep 03 echo " Usuários logados: "; w sleep 03 echo " O diretório onde você se encontra é: "; pwd sleep 03 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 • $1 .... $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 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 ] 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

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

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

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

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

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

  26. 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: " read origem echo "Digite o diretório de destino: " read destino cp -va $origem $destino;; 3)exit;; *)echo " Opção Inválida! " esac done

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

More Related