Introdução a Shell Script Clésio Matos clesior.matos@gmail.com 1
Plano de apresentação O que são shell scripts Comandos básicos Estruturas básicas do BASH - Comandos condicionais - Comandos de repetição Exemplos de scripts mais elaborados
O que são Shell Scripts shell scripts são pequenos programas escritos na linguagem do shell. Os shell scripts normalmente são usados para executar tarefas administrativas mais complexas, i. e., aqueles que envolvem dois ou mais comandos básicos. Os shells mais comuns são os seguintes: - Bourne Again Shell( /bin /bash) - C Shell ( /bin /csh) - Turbo C Shell ( /bin /tcsh) - Korn Shell ( /bin /ksh)
Por que Shell Script é tão utilizado? - Shell Script facilita consideravelmente a vida e trabalho do administrador do sistema e de qualquer outro usuário. Automatização de tarefas é refletida em aumento de velocidade e facilidade. - Codificação Simples; - Solução Rápida; - Interação direta com o sistema e recursos da máquina; 4
Comandos Básicos do Linux cd Is - Mudança de Diretório -Ex: cd / - Ir para o diretório raiz - Listar os arquivos e diretório do local corrente -Ex: Is - variações: -Is-a -Is -I
Comandos Básicos do Linux pwd - Mostra a localização atual -Ex: pwd mkdir - Cria um Diretório -Ex: mkdr aula11
Comandos Básicos do Linux cat - Exibe o Conteúdo de um Arquivo -Ex: cat aula.txt -Ex: cat n aula.txt cp - Cópia de arquivos -Ex: cp aula.txt aula2.txt -Ex: cp aula.txt /tmp
Comandos Básicos do Linux date - Exibe e altera a data e hora do computador -Ex: date MMDDhhmmYY - Primeiro mês, dia, hora, ano. mv - Mover ou renomear arquivos -Ex: mv aula.txt aula3.txt -Ex: mv aula3.txt /aula/aula2
Comandos Básicos do Linux clear - Limpar a tela -Ex: clear df - Saber a quantidade de disco ocupada -Ex: df H free - Verificar a utilização da memória RAM -Ex: free -m
Comandos Básicos do Linux rm ou rmdir - Apagar arquivos e diretórios -Ex: rm aula2.txt man - Manual on-line dos comandos do linux -Ex: man date
Estrutura básica dos scripts Bash shell #! /bin /bash Echo Ola Mundo! Importante: O arquivo que contém o script precisa ter permissão para execução. Para tanto, é necessário executar o comando: chmod +x arquivo.sh chmod 777 arquivo.sh
Estrutura básica dos scripts Bash shell - Variáveis As variáveis nos shell scripts não têm tipo e são criadas dinamicamente. Exemplo: VAR=1; NOME = Ze A atribuição de variáveis é feita com o operador =. Para acessar o conteúdo das variáveis, utiliza-se o operador $.
Estrutura básica dos scripts Bash #! /bin /bash echo Digite seu nome read NOME echo ola $NOME shell - Leitura
Estrutura básica dos scripts Bash shell Comandos Condicionais
Estrutura básica dos scripts Bash shell Comandos Condicionais Observações: - O que aparece ente colchetes ([ ]) é o teste lógico que será feito - O teste entre colchetes pode aceitar as seguintes opções: -d caminho: verdade se é um diretório; -e caminho: verdade se o arquivo existe; -f caminho: verdade se o arquivo existe e é um arquivo regular.
Estrutura básica dos scripts Bash shell Comandos Condicionais O teste entre colchetes também funciona com argumentos numéricos: arg1 eq arg2: verdade se o arg1 for igual a arg2; arg1 lt arg2: verdade se arg1 for menor que arg2; arg1 gt arg2: verdade se arg1 for maior que arg2; arg1 ne arg2: verdade se arg1 não for igual a arg2; arg1 le arg2: verdade se arg1 <= arg2; arg1 ge arg2: verdade se arg1>= arg2;
Estrutura básica dos scripts Bash shell Comandos Condicionais Para strings, os comandos são os seguintes: arg1 == arg2: verdade se o arg1 for igual a arg2. arg1!= arg2: verdade se arg1 for diferente de arg2. Conectores Lógicos -a and (e) -o or (ou)
Estrutura básica dos scripts Bash shell Comandos Condicionais
Passagem de Parâmetros - Os parâmetros são passados na execução do Script../soma.sh 10 30 Os parâmetros são recebidos na variáveis $1, $2, $3 $4. A variável $0 retorna o nome do script
Estrutura básica dos scripts Bash #!/bin/bash #Soma let soma=$1+$2 echo echo " Total -> $soma" echo echo " Script... $0" shell - Leitura
Estrutura básica dos scripts Bash shell Comandos de repetição O BASH também aceita comandos de repetição como os comandos for e while. Exemplo de while:
Estrutura básica dos scripts Bash shell Comandos de repetição O comando for tem algumas peculiaridades pouco comuns em linguagens de programação. Exemplo de for:
Estrutura básica dos scripts Bash shell Comandos de repetição Variação do comando for:
Estrutura básica dos scripts Bash shell Comandos de repetição Outra variação do comando for:
Estrutura básica dos scripts Bash shell Comandos de repetição Exemplo: Script para listar apenas os diretórios.
Comandos importantes Grep Cut - Utilizado para realizar filtros - Utilizado para cortar string -c= carateries -d= delimitador -f= campos entre delimitadores (Pipe) - concatena comandos > e >> - redireciona a saída para arquivos
Mais Exemplos Processamento de arquivos mediaalunos.sh lerusuarios.sh Recurso Dialog inputbox.sh menu.sh textbox.sh users.sh yesno.sh http://aurelio.net/shell/dialog/
Agora é só estudar...
...Estudar mais um pouco...
E chegar lá! :)
Clésio Matos clesior.matos@gmail.com 31