Você está na página 1de 4

Shell Script

Fabiano Jacoboski1, Jackson Colombo2 Faculdades de informtica de Taquara (FIT) Cep 95.600-000 Taquara RS Brasil
carnage@faccat.br, jacksoncolombo@yahoo.com.br

Resumo. Linguagens de Programao existem muitas. O Shell do Linux, alm de ser a linha de comando, a interface do sistema com o usurio, tambm um rico ambiente de programao, e sobre isso que iremos tratar neste artigo _______________________ 1. Histrico e Evoluo Desenvolvido por S.R Bourne em 1975, o Shell script, uma linguagem sofisticada e muito leve. Se popularizou com a expano do sistema Linux, hoje em dia muito utilizada, ele atua com interface usurio - sistema operacional  A evoluo do Bourne Shell foi o C Shell. Desenvolvido por Bill Joy ele apresentava como inovaes o histrico de comandos (que permite usar um "apelido" para omandos complexos) e o controle de processos em foreground e background. Mas a caracterstica principal do C Shell era a semelhana de sua sintaxe com a da linguagem C. Recentemente tivemos o desenvolvimento do Turbo C Shell, que apresenta algumas melhorias em relao ao C Shell. Na busca da implementao do das caractersticas positivas do Bourne Shell e do C Shell, surgiu o Korn Shell, desenvolvido por David Korn. O Bash (Bourne Again Shell) surgiu como uma reimplementao do Bourne Shell realizada pelo Projeto GNU (www.gnuproject.org). Apresentando melhorias em relao ao Bourne Shell, esse shell se popularizou pela expanso em sistemas GNU/Linux e portanto, nele que iremos nos basear neste artigo. 2. Caractersticas Alm de possuir as funcionalidades bsicas de uma linguagem estruturada normal, o Shell se diferencia pela integrao "natural" com o Sistema Operacional, tendo comandos especialistas em manipular arquivos, processos e descritores.++++++++ +++++++++++++++++++++++++++++++++++++ Mas o seu ponto forte, o divisor de guas que o torna especial o acesso direto e gerenciamento facilitado de todos os programas do

Sistema Operacional. Cada executvel com suas uma ferramenta disponvel para Shell._______________________________

muitas opes programar

se torna em

O shell um mdulo que atua como interface usurio - sistema operacional, possuindo diversos comandos internos que permitem ao usurio solicitar servios do sistema operacional. O shell tambm implementa um linguagem simples de programao que permite o desenvolvimento de pequenos programas (os famosos shell scripts).________________________________________ Em muitos sistemas o interpretador de comandos uma parte da estrutura interna do S.O.. No Unix porm, o shell um programa como outro qualquer, alm de ser uma linguagem de programao sofisticada (scripts em shell). Como dito anteriormente, existem diversos tipos de shell como o /bin/sh (Bourne Shell), /bin/ksh (Korn Shell) e o /bin/csh (C Shell) O shell do Unix suporta o conceito de scripts. Os comandos do Unix podem ser colocados em um arquivo, e executados entrando-se com o nome do arquivo no prompt do shell. Os scripts do shell do Unix so anlogos aos arquivos de execuo em lote do DOS (BAT). Para que um script do shell possa ser executado, no necessrio seguir nenhuma conveno especial de nomes, como acontece no DOS; em vez disso, o arquivo com o script deve receber permisses de execuo. H uma vaga conveno de nomes para os scripts do Unix._____________________________________________________ Para indicar que um comando um script do shell do Unix, acrescenta-se a extenso.sh. Isto no obrigatrio, e o shell do Unix no trata os arquivos que usam esta conveno de nomes de forma diferente do que qualquer outro arquivo comum. simplesmente uma conveno que torna mais fcil para o usurio reconhecer que um comando , na realidade, um script do shell e no um executvel binrio. Observe, ainda, que as convenes de nomes do Unix no impem padres especficos para indicar executveis binrios, como acontece no DOS.__________________________________ Programadores e usurios recm-chegados ao Unix devem compreender que o shell do Unix to verstil, e os recursos da programao em shell so to poderosos, que frequentemente acontece de novas aplicaes poderem ser escritas em linguagem shell, e no em C, mais difcil e mais pesada. Isto particularmente verdadeiro para ferramentas de programao personalizada. Em muitos sistemas Unix provavelmente sero encontradas ferramentas personalizadas j disponveis. De fato, uma bno e uma maldio no ambiente Unix Alm de possuir as funcionalidades bsicas de uma linguagem estruturada normal, o Shell se diferencia pela integrao natural com o Sistema Operacional, tendo comandos especialistas em manipular arquivos,

processos e descritores._Mas o seu ponto forte, o divisor de guas que o torna especial o acesso direto e gerenciamento facilitado de todos os programas do Sistema Operacional. Cada executvel com suas muitas opes se torna uma ferramenta disponvel para programar em Shell.__________________________________ O shell um mdulo que atua como interface usurio - sistema operacional, possuindo diversos comandos internos que permitem ao usurio solicitar servios do sistema operacional. O shell tambm implementa um linguagem simples de programao que permite o desenvolvimento de pequenos programas (os famosos shell scripts). Em muitos sistemas o interpretador de comandos uma parte da estrutura interna do S.O.

3. Exemplo de programa
Criao de um pequeno shell script: Vamos comear por criar um pequeno script que efectue as seguintes tarefas: - Mostrar o nome do directrio orrente._______________________________________ - Listar o contedo do directrio corrente._____________________________________ - Indicar que terminou a tarefa.____________________________________________ Estas tarefas poderiam ser executadas manualmente atravs da utilizao dos comandos "pwd", "ls" e "echo". Para automatizar esta tarefa basta criar um arquivo com os comandos dentro. Utilizando um editor de texto pode-se criar um arquivo chamado "dl" (directory list) com o seguinte contedo:___________________________________________________ $ cat dl pwd ls echo "fim do script" $ Depois de feito esta primeira parte, j se tem um programa escrito em shell! Para o executar basta, a partir do shell, digitar o seguinte comando: sh dl Os comandos contidos no ficheiro "dl" so executados sequncialmente pelo shell: o nome do directrio mostrado primeiro, seguido do resultado do comando ls, e finalmente o echo diz "fim do script.".

4. Concluso
O shell uma ferramenta poderosa dos sistemas GNU/Linux, portanto bastante interessante para aqueles que querem se aventurar no mundo Linux aprenderem pelo menos alguns comandos bsicos dele.

5. Referencias
UNIX WORLD PAGE - Home page dedicada ao Unix. Disponvel em <http://planeta.terra.com.br/esporte/biscoito/biscoito/unix.html> Acesso em 17 de Abril de 2005. VIVA O LINUX Home Page de uma comunidade de usirios de Linux. Disponvel em <http://www.vivaolinux.com.br/artigos> Acesso em 17 de Abril de 2005.

Você também pode gostar