Shell Scripts Elaboração de scripts no shell do Mac
1. O que é shell É o prompt da linha de comando do unix que recebe os comandos digitados pelo usuário e executa.
Exemplo de comandos do shell:
comando
Função
Argumento
ls
lista o conteudo do diretorio corrente ou outro diretorio passando argumento
Nome do diretorio
cat
mostra oconteudo de um arquivo texto
Nome do diretorio
cd
muda o diretorio corrente
Nome do diretorio novo
pwd
mostra o diretorio corrente
<nenhum>
rm
remove arquivos e diretorios
Nome a remover
cp
copia um arquivo para outro diretorio
<Nome acopiar>
mkdir
cria um novo diretorio
<nome a ser criado>
man
mostra o texto de ajuda sobre diversos comandos do sistema
<nome do comando a obter ajuda>
help
mostra help dos comandos
f<nome do comando a obter ajuda>

2. Exemplo Problema Resolvido:
saida: Gravar um arquivo de texto chamado TodosXmlWalter
formatar: NomeArquivo,NomeArquivo,......   ex.:WShellScriptMac.xml,WD.xml,...
selecionar: todos arquivos que 1a letra W(maiscula) e a 2a letra de A até Z e tem extensão .xml.
entrada:APOIE2012/WDesenvolvimento

Solução shell script para Mac:
  1. Muda para o diretorio onde estão os arquivos que serão lidos:
    cd ///Volumes/APOIE2012/WDesenvolvimento
  2. Lista todos os arquivos da pasta
    ls
  3. saida: Gravar um arquivo de texto chamado ListaXml
    formatar: NomeArquivo,NomeArquivo,......   ex.:WShellScriptMac.xml,WD.xml,...
    selecionar: todos arquivos que 1a letra W(maiscula) e a 2a letra de A até Z e tem extensão .xml.

    echo ListaXml=[\'$(echo W[A-Z]*.xml)\']\; | sed "s/ /', '/g" 
  4. Resultado
    ListaXml=['WAbstracao.xml', 'WAdmGestEmpdEmps.xml', 'WAdmTemp.xml', 'WAlgoritimo.xml', 'WAlgoritimoIterativo.xml', 'WAmbientacao.xml', 'WAndragogia.xml', 'WAprendizagem.xml', 'WArcaboucoVisao.xml', 'WArquiteturaAprendizado.xml']
Resumindo arquivo script com comandos shell:
cd ///Volumes/APOIE2012/WDesenvolvimento
echo ListaXml=[\'$(echo W[A-Z]*.xml)\']\; | sed "s/ /', '/g"
3. Onde esta o shell

Aplicativos>Utilitarios>Terminal
Para o usuário ler um arquivo segue a seguinte hierarquia:
usuario --> shell --> kernell-->disco rigido
4. Funcionalidades Pode ser representada, por diversas formas:
  • navegar entre diretorios.
  • Manipular arquivos
  • Possui as estruturas: IF, FOR, WHILE , variaveis e funções
5. O que é script É um arquivo texto que guarda vários comandos e pode ser executado.

Por exemplo para saber informações do sistema como: horário, ocupação do disco e usuários que estão logados, é preciso digitar 3 comandos
  • [root@localhost root]#date
  • [root@localhost root]#df
  • [root@localhost root]#w



Fazendo um script chamado sistema, o arquivo sistema conterá:
  • #!/bin/bash
  • #sistema - script que mostra informações sobre o sistema
  • echo "Data e Horario"
  • date
  • echo "Uso do disco"
  • df
  • echo "Usuarios conectados"
  • w
*echo é para mostrar mensagens na tela
#comentarios no script
Para chamar o script, executar um comando:
  • [root@localrost root]#sistema
6. Variaveis Armazena dados dentro do script
  • prompt$ VARIVEL="um dois tres"
  • prompt$ echo $VARIVEL
    um dois tres
  • prompt$ echo $VARIVEL $VARIVEL
    um dois tres um dois tres
  • prompt$
Armazenar saida dentro de uma variavel
  • prompt$ HOJE=$(date)
  • prompt$ echo "HOJE é: $Hoje"
    Hoje é: Dom Mai 29 @1:00:00 BRT 2012
  • prompt$ unset HOJE
  • prompt$ echo $HOJE

  • prompt$
unset- apaga a variavel
7. Detalhes sobre os comandos COMANDO OPCÕES PARÂMETROS:  help



Comando
Função
Opções
Exemplo
help
Mostra comandos que existem no shell do Mac
-s
help -s help    
info
help detalhado de um comando

info help
clear
limpa o prompt

clear
find
Encontra arquivos
-name, -iname, -type f, -exec

grep
Encontra texto
-i, -v, -r, -qs, -w, -x


8. Chamada do shell e tornar o script um executavel COMANDO OPCÕES PARÂMETROS:
  • #!/bin/bash
  • chmod +x sistema
Para saber se sistema existe no diretorio corrente, digitar
  • prompt$ ./sistema

    ou


  • prompt$ /tmp/scripts/sistema

9. Quais diretorios tem o computador Digitar no prompt:
  • echo $PATH
http://aurelio.net/mac/   O que é BSD  Apple  AFMS
Arquivo origem: WShellScriptMac.xml. .