Automatização de Serviços – P1 SHELL SCRIPT Charles J. Busarello - IFPR SHELL É um interpretador de comandos e instruções: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ls –la: Lista todos diretórios e arquivos, df –h: Lista os dispositivos de Armazenamento pwd: Mostra o diretório atual, no qual o usuário está cd + <diretório>: Entra no diretório escolhido / cd .. : Sai do diretório atual Cat /proc/cpuinfo : Exibe detalhes do processador Cat /proc/meminfo : Exibe detalhes da memória mkdir : Cria pastas / rmdir : remove pastas rm : remove arquivos, cp : copia arquivos / mv: move ou renomeia date: mostra a data e hora ifconfig: resumo da rede top: exibe recursos usados em tempo real vi / gedit : editor de arquivos PRINCIPAL: ( man ) SCRIPT São arquivos escritos em modo texto, com ou sem extensão, podem ser feito por qualquer editor de texto (Notepad, Gedit, Vi, Notepad++, Edit(Ruindows) ). Que são transformados em executáveis, com instruções definidas e conhecidas, mas sempre respeitando a sintaxe do comando, e que depois irão ser executadas por um interpretador. Exemplo de um Script simples. #!/bin/bash echo ‘Olá, MSI’ Exemplo de um Script que interage com o usuário. #!/bin/bash echo "Entre com o valor para a variável: " ; read variavel echo $variavel SHELL SCRIPT É uma ferramenta de automação de instruções. Usada para facilitar a vida do administrador, como execução de programas, backups de pastas e arquivos, firewall, redirecionamento de portas entre outros. Código compilado: É o que está escrito em arquivos executáveis binários, póscompilação, normalmente entregues ao usuário final. (Delphi, C,C++, Pascal, Clipper) Código interpretado: É obtido em script do Linux ou em PHP que são seqüências de instruções, comandos e funções que serão executadas por um interpretador. (Navegador, Ms-dos) SHELL SCRIPT CARACTERÍSTICAS 1. 2. 3. 4. 5. 6. Funções nativas do Linux, pois utiliza os comandos do mesmo Fácil lógica e compreensão Pode ser editado como qualquer arquivo texto Pode ser distribuído e corrigido por qualquer pessoa da comunidade Linux Não necessita de Depurador, e se houver algum erro de sintaxe, basta abrir, alterar e salvar o arquivo E pode fazer qualquer coisa possível, combinando comandos SINTAXE DE COMANDOS É como funcionam as expressões e instruções: Ex: Copiando arquivos de um diretório para outro: 1. cp /mnt/msi/*.sh etc/msi/ (Expressão errada) Corrigido 1. cp /mnt/msi/*.sh /etc/msi/ Entendo as Permissões para o SCRIPT CRIAÇÃO DE UM SCRIPT Abrir o Terminal (crtl + alt + t) Criar um nome para o arquivo, usando o editor GEDIT / VI gedit msi.sh / vi msi.sh Adicione as seguintes linhas #!/bin/bash echo ‘Nossa! Estou vivo!’ Para salvar o arquivo no GEDIT (Menu arquivo -> Salvar) Para salvar o arquivo no VI (crtl + x) + wq Tornando um SCRIPT Executável Abrir o Terminal (crtl + alt + t) Identifique onde foi salvo o arquivo Digite ls –la, este comando irá mostrar pastas e diretórios e suas respectivas permissões. Tornando um SCRIPT Executável Abrir o Terminal (crtl + alt + t) Identificado o arquivo, nos atentaremos para as sua permissões: Tornando um SCRIPT Executável Abrir o Terminal (crtl + alt + t) Identificado o arquivo, nos atentaremos para as sua permissões: Usaremos o comando CHMOD, que é um comando para as alterar permissões de arquivos e diretórios. Então segue: chmod ugo + rwx + <nome.arquivo> <ENTER> Para executar o arquivo usaremos: ( ./<nome.arquivo> <ENTER> ./ ) Fim Atividades: 1. Criar um script que copie dados de uma pasta para outra. (Criar pastas) 2. Criar um script que possa interagir com o usário. (Cálculo, pergunta->resposta) 3. Crie um script que mostre a data e liste diretórios e arquivos