tutorial shell script

Download Tutorial Shell Script

Post on 17-Dec-2014

1.183 views

Category:

Technology

4 download

Embed Size (px)

DESCRIPTION

Uma compilação de 3 bons tutoriais para iniciantes que achei na net. Já dá pra começar a brincar com eles. ;)

TRANSCRIPT

  • 1. Introduo ao Shell Script Aurlio Marinho Jargas http://aurelio.net
  • 2. Introduo ao Shell Script - Aurlio Marinho Jargas ndiceSobre o curso.......................................................................................................................1Apresentao ........................................................................................................................2 O que o shell............................................................................................................2 Shell script...................................................................................................................3 Antes de comear ........................................................................................................3O primeiro shell script.........................................................................................................4 Passos para criar um shell script ................................................................................4 . Problemas na execuo do script...............................................................................5 .O primeiro shell script (melhorado)...................................................................................6 . Melhorar a sada na tela..............................................................................................6 Interagir com o usurio................................................................................................6 Melhorar o cdigo do script.........................................................................................7Rebobinando a fita...............................................................................................................8 Variveis......................................................................................................................8 Detalhes sobre os comandos......................................................................................8 O comando test.........................................................................................................10 Tarefa: script que testa arquivos...............................................................................11Conceitos mais avanados...............................................................................................12 Recebimento de opes e parmetros ......................................................................12 Expresses aritmticas ..............................................................................................12 If, for e while..............................................................................................................13Exerccios...........................................................................................................................15Mais informaes...............................................................................................................18Respostas dos exerccios.................................................................................................19 testa-arquivos............................................................................................................19 relacao.sh..................................................................................................................19 zerador.sh ..................................................................................................................19 substring.sh...............................................................................................................20 juntatudo.sh...............................................................................................................20 users.sh.....................................................................................................................20 shells.sh.....................................................................................................................20 parametros.sh ............................................................................................................20 i
  • 3. Sobre o cursoNome Introduo a Shell ScriptsInstrutor Aurlio Marinho Jargas (http://aurelio.net)Objetivo Ensinar aos alunos todos os conceitos necessrios para poderem fazer sozinhos scripts simples em shell.Pr-Requisitos Noes bsicas de informtica e operao do sistema pela linha de comando. desejado, porm no obrigatrio, noes bsicas de programao.Pblico Alvo Desenvolvedores, administradores de sistemas, programadores e interessados em geral.Durao 8 horas 1
  • 4. ApresentaoO que o shellO shell o "prompt" da linha de comando do Unix e Linux, o servo que recebe oscomandos digitados pelo usurio e os executa.O shell aquele que aparece logo aps digitar-se a senha do usurio e entrar na telapreta. Ou na interface grfica, ao clicar no cone do Xterm, rxvt, Terminal ou Console. localhost login: root Password: Last login: Fri Apr 16 01:57:28 on tty5 [root@localhost root]# _Ali est o shell, esperando ansiosamente por algum comando para ele poder executar.Essa a sua funo: esperar e executar. Cada comando digitado lido, verificado,interpretado e enviado ao sistema operacional para ser de fato executado. No Mac OS X, o shell est em Aplicativos > Utilitrios > Terminal. No Windows preciso instal-lo com o Cygwin.Funcionando como uma ponte, o shell a ligao entre o usurio e o kernel. O kernel quem acessa os equipamentos (hardware) da mquina, como disco rgido, placa de vdeoe modem. Por exemplo, para o usurio ler um arquivo qualquer, toda esta hierarquia seguida: USURIO --> SHELL --> KERNEL --> DISCO RGIDOPara os usurios do Windows, fcil pensar no shell como um MSDOS melhorado. Aoinvs do C:> aparece um [root@localhost root]#, mas o funcionamento similar. Bastadigitar um comando, suas opes e apertar a ENTER que ele ser executado. O comandodeve estar no PATH, mensagens de aviso so mandadas para a tela e Ctrl+C interrompe ofuncionamento. Isso tudo igual em ambos.Mas o shell muito mais poderoso que seu primo distante. Alm dos comandos bsicospara navegar entre diretrios e manipular arquivos, ele tambm possui todas as estruturasde uma linguagem de programao, como IF, FOR, WHILE, variveis e funes. Com isso,tambm possvel usar o shell para fazer scripts e automatizar tarefas.Este ser o nosso foco: scripts em shell. 2
  • 5. Introduo ao Shell Script - Aurlio Marinho JargasShell scriptUm script um arquivo que guarda vrios comandos e pode ser executado sempre quepreciso. Os comandos de um script so exatamente os mesmos que se digita no prompt, tudo shell.Por exemplo, se de tempos em tempos voc quer saber informaes do sistema comohorrio, ocupao do disco e os usurios que esto logados, preciso digitar trscomandos: [root@localhost root]# date [root@localhost root]# df [root@localhost root]# w melhor fazer um script chamado "sistema" e colocar estes comandos nele. O contedodo arquivo "sistema" seria o seguinte: #!/bin/bash date df wE para chamar este script, basta agora executar apenas um comando: [root@localhost root]# sistemaIsso um shell script. Um arquivo de texto que contm comandos do sistema e pode serexecutado pelo usurio.Antes de comearSe voc est acessando o sistema como usurio administrador (root), saia e entre comoum usurio normal. muito perigoso estudar shell usando o superusurio, voc podedanificar o sistema com um comando errado. Se voc no tem certeza qual o seu usurio, use o comando "whoami" para saberComo o prompt de usurio normal diferente para cada um, nos exemplos seguintes serusado "prompt$" para indicar o prompt da linha de comando. 3
  • 6. O primeiro shell scriptO primeiro shell script a fazer ser o "sistema" do exemplo anterior, de simplesmente juntartrs comandos em um mesmo script.Passos para criar um shell script1. Escolher um nome para o scriptJ temos um nome: sistema. Use apenas letras minsculas e evite acentos, smbolos e espao em branco2. Escolher o diretrio onde colocar o scriptPara que o script possa ser executado de qualquer parte do sistema, mova-o para umdiretrio que esteja no seu PATH. Para ver quais so estes diretrios, use o comando: echo $PATH Se no tiver permisso de mover para um diretrio do PATH, deixe-o dentro de seu diretrio pessoal ($HOME).3. Criar o arquivo e colocar nele os comandosUse o nano, VI ou outro editor de textos de sua preferncia para colocar todos oscomandos dentro do arquivo.4. Colocar a chamada do shell na primeira linhaA primeira linha do script deve ser: #!