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:
Muda para o diretorio onde estão os arquivos que serão lidos:
cd ///Volumes/APOIE2012/WDesenvolvimento
Lista todos os arquivos da pasta
ls
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"
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
. .
Shell Scripts {9}
O que é shell
Exemplo
Onde esta o shell
Funcionalidades
O que é script
Variaveis
Detalhes sobre os comandos
Chamada do shell e tornar o script um executavel
Quais diretorios tem o computador
Índice Local {9}
Projeto Apoie {6}
Projeto Apoie
Projeto PAS Produzir + Aprender + Simplificar
Serviço Web
Relacionamentos entre Personagens
Base de Conhecimento {5}
Conhecimento
Dado
Informação consolidada
Página Pronta - site apoie.org
Pulo do Gato
Contato Projeto Apoie
Linguagem
{5}
Javascript {3}
Referências e Ferramentas
Sintaxe
Cheat Sheet
Erlang Quick Sort
LDC {2}
LDC
LDC - Sintaxe
Definição {9}
Erlang
Python 3.0
Ruby 1.9.1 - Sintaxe
Ruby 1.9.1 - Léxico
Shell
Lua
PHP
XML
Lazy BNF
If
Dojo {4}
Coding Dojo
Coding Dojo - Formatos
Soluções Coding Dojo {6}
Dojo #34: Expressão Aritmética
Dojo #33: Impedimento
Dojo #32: Sequência Numérica
Dojo #31: Tráfego
Dojo #29: Boliche
Dojo #28: Jogo da Vida
Dojo Rio
Qualidade {2}
5W {3}
5W2H
5W1H
5W2H - 5W1H - Modelo
PDCA
Componente {5}
Componente
ExibirLinguagem.htm
Gerar Páginas
Lista
Tabela de Decisões
Paletas {10}
Paleta - Mais utilizadas
Paleta - Apoie
Paleta - Apresentação e Componentes
Paleta - Diagramas
Paleta - Diagrama Sintático
Paleta - Dojo
Paleta - Logos
Paleta - Projetos
Paleta - Setas
Paleta - Tecnologia
Evento {4}
Pendência
Estados de Componentes
Scrum
Prioridade
Método {5}
Oficina
Serviço Web
Warnier/Orr Basics
Apresentar Problema Resolvido
Simples x Complexo
Imposto de Renda