Escolar Documentos
Profissional Documentos
Cultura Documentos
anacarolina@faccat.br, cheldt@uol.com.br
Resumo. Shell Scripts so arquivos texto que contm um ou mais comandos
de shell - comandos GNU/Linux. Estes programas podem ser usados para
simplificar tarefas repetitivas, para substituir comandos que so sempre
executados juntos com um comando nico, para automatizar a instalaco de
outros programas e at para escrever aplicaes interativas, ou seja, para
desenvolvimento de aplicaes simples ou complexas. Neste artigo
apresentaremos o histrico, conceitos bsicos e particularidades deste
recurso cada vez mais explorado..
1. Histrico
Segundo Jlio Cezar Neves [NEVES], Shell Scripts so um meio de executar vrias
tarefas em apenas um comando, muitas vezes com o objetivo de facilitar o trabalho de
quem os usa. Ou seja, Shell um programa que permite ao usurio interagir com o
sistema operacional atravs de comandos digitados do teclado, interpretando os
comandos digitados e os traduzindo para comandos que so reconhecidos pelo kernel
do GNU/Linux (ncleo do sistema operacional). Esses comandos podem ser simples
(como um ls ou cd) ou utilizando laos e selees (como if e while), como digitados
somente uma vez no shell ou salvos em um arquivo para uso posterior.
O shell mais famoso de GNU/Linux o Bash, pois o mesmo oferece vrios
recursos. O mais bsico o sh. Em todos estes possvel criar scripts, que, como ja
dito, so conjuntos de comandos armazenados em um arquivo texto que so
executados seqencialmente, como se estivessem sidos digitados pelo usurio.
Podemos fazer uma comparao com os arquivos do tipo .bat, que eram usados no MS-
DOS, porm programando em Shell Script teremos muitos recursos a mais. Existem
tarefas em que devemos digitar uma mesma sequncia de comandos vrias vezes.
Nestes casos podemos aumentar a produtividade digitando os comandos em um nico
arquivo que chamamos de shell script e que pode ser executado sempre que for preciso
Bourne Shell: Este o shell padro no UNIX e sua representao no UNIX sh;
2. Paradigma de Programao
Paradigma Interpretado.
3. Caractersticas Tcnicas
Shell uma linguagem de programao completa, possuindo variveis, construes
condicionais, interativas e ambiente adaptvel ao usurio. a ferramenta original de
prottipo rpido que ensina conceitos-chaves como modularidade, reutilizao e
desenvolvimento, sendo assim considerada como uma linguagem de quarta gerao
(4GL).
Os comandos do Shell se comunicam entre si por meio de uma interface simples e
coerente chamada Pipeline (conduto), que pode ser representada pelo caracter | ;
O Shell permite que o usurio realize suas atividades sem afetar qualquer outro
processo que no lhe pertence. Quando um usurio conecta-se a um sistema Unix, o
sistema operacional inicia automaticamente uma cpia do Shell, sob a qual o usurio
poder realizar qualquer funo disponvel;
Como tiliza o sistema de arquivos do UNIX, permite organizar arquivos em pastas
(diretrios). Esta hierarquia de diretrios e arquivos gera uma viso simples e clara de
toda a informao no sistema;
O UNIX transportvel; ele roda em quase todo hardware de computadores
fabricados atualmente. Seu investimento no ser desperdiado, pois qualquer
programa escrito largamente portvel entre UNIXs de diferentes plataformas e
fornecedores assim sendo, GNU/Linux tambm;
O bash possui histrico, ou seja, cada vez que apertamos a tecla que representa
uma seta para cima, temos um comando j executado anteriormente. Se apertamos uma
vez, temos o ltimo comando executado. Se apertamos duas vezes, temos o penltimo
comando executado e assim por diante. Quando estamos digitando um diretrio ou
arquivo, ao apertarmos a tecla TAB, nos aparece o nome do arquivo todo. Ou seja, ele
completado automaticamente . Caso no tenha auto-complemento ou o complemento
seja inexistente, o bash emite um beep, seno aparecero opes de complemento de
nome (ou comando).
Com scripts shell pode-se multiplicar a produtividade, pois ele pode automatizar
a maior parte das tarefas recursivas, que compreendem de 50% a 80% das atividades
intensamente humanas.
necessrio alguns conhecimentos internos do Shell (como seus comandos) e do
seu uso para se beneficiar de seus recursos, porm para torn-lo eficiente e produtivo
realmente o mais necessrio a criatividade (ou inventividade).
4. Aplicabilidade
Podemos usar a programao em Shell Script de dois modos distintos: interativo e
automatizado.
Usa-se o modo interativo quando deseja-se realizar uma operao simples, uma
nica vez ou ento interagir com o comando. A qualquer momento que se executa
algum comando, como ls ou cat, por exemplo, o Shell est sendo usado
interativamente.
Quando o uso do Shell interativamente est se tornado cansativo e repetitivo pela
exigncia da digitao (e re-digitao), o mais prtico tornar estes comandos
repetitivos um arquivo para reaproveitamento: o uso do script.
DIR_ORIG="/home/aluno/"
BKP_NAME="teste"
BKP_EXT=".tar.gz"
FTP_HOST="fit.faccat.br"
FTP_USER="usuario"
FTP_PASS="senha"
# mensagem de resultado
echo "Backup concluido com sucesso."
echo "Diretrio: ${DIR_ORIG}"
echo "Destino: ${FTP_HOST}/${BKP_NAME}`date +%Y_%m_%d`${BKP_EXT}";
exit 0
6. Referencias
Neves, J. C. Programao Shell Linux. Ed. Brasport. Rio de Janeiro. RJ. 2004.
http://www.dicas-l.unicamp.br/dicas-l/20040721.php
http://www.tldp.org/LDP/abs/html/
http://oase-shareware.org/shell/links/index.html
http://www.linuxconf.com.br/