ShellScript Jacir de Oliveira , José Alencar Philereno Faculdade de Informática de Taquara Igrejinha - RS - Brazil [email protected] , [email protected] Resumo. Este artigo irá descrever a linguagem de programação ShellScript, dando-nos uma noção básica de seus comandos e suas utilidades que auxiliam na elaboração de tarefas, também demonstração de programas em algumas linhas de comando, na sua funcionalidade em um prompt de comando. Esta funcionalidade é fornecida por um 'pequeno' programa ou 'script' que é executado no servidor ou terminal *nix. 1. Introdução O ShellScript é um arquivo de texto que contém comandos do sistema e pode ser executado pelo usuário, no "prompt" da linha de comando do sistema operacional tipo Linux, podendo ser um servidor ou terminal de trabalho. No Linux o prompt de comando é o sh, ou variações como o bash, e eles têm uma "poderosa" linguagem de script embutido nelas mesmas. Diversas pessoas utilizam-se desta linguagem para facilitar a realização de inúmeras tarefas administrativas no Linux, ou até mesmo criar seus próprios programas. 2. Conceitos básicos Precisamos saber algumas regras e sintaxes básicas sobre a linguagem, a primeira linha indica que todas as outras linhas abaixo deverão ser executadas pelo bash (que se localiza em /bin/bash), . 2.1 Programação O paradigma desta linguagem é o Imperativo. 3. Funcionalidade A vantagen da linguagem ShellScript é que ele não precisa ser compilado, apenas criamos um arquivo texto qualquer, e inserimos os comandos nele. Para dar a este arquivo a definição de "shell script", teremos que incluir uma linha no começo do arquivo, que será (#!/bin/bash) e torná-lo "executável", utilizando o comando chmod, como este exemplo de um shell script que mostrara na tela uma mensagen assim : ‘OLA, ESTOU AQUI` #!/bin/bash echo 'OLA, ESTOU AQUI!' A linha imprimirá na tela a frase "OLA, ESTOU AQUI", utilizando o comando echo, que serve para executar o comando. Como podemos ver, todos os comandos que você digita diretamente na linha de comando, você poderá incluir no arquivo, criando uma série de comandos sequenciais, e essa combinação de comandos forma o script. Ainda podemos utilizar vários comandos do UNIX para ajudar a construir um script, por exemplo sed, awk, cut, grep, cat, echo, bc, etc. além dos recursos do próprio shell Para o arquivo ser executável, você tem de atribuir o comando executável para ele. E como citamos anteriormente, o comando chmod se encarrega disto: $ chmod +x arquivo Assim como os comandos do sistema que possuem opções e parâmetros, os scripts também podem também ser preparados para receber dados via linha de comando. 4. Tipos de Shell Existe vários tipos de shells, a mais utilizada é a sh, que é um link da bash, ou seja /bin/sh é link de /bin/bash ! 5. Aplicação O ShellScript é uma ferramenta linux, que cria através de scripts programas executáveis que auxiliam nas tarefas, com um simples arquivo texto, podemos automatizar tarefas de forma simples e ágil, Assim como qualquer outra linguagem de programação, o Shell também tem estruturas para se fazer condicionais e loop. 6. Modelo básico de um Schell Script. #!/bin/bash # # shell script - trabalho para Linguagens de computador # # autores: Jose Alencar Philereno e Jacir de Oliveira # # data...: 29/08/2005 # echo -e "\033[1m Boa noite $USER \033[0m" echo echo "Por favor, informe dois numeros inteiros e positivos" echo echo "Primeiro numero: " NUM1=-1 while test "$NUM1" -lt 0 do read NUM1 done echo echo "Segundo numero: " NUM2=-1 while test "$NUM2" -lt 0 do read NUM2 done SOMA=$(($NUM1 + $NUM2)) MULTIPLICA=$(($NUM1 * $NUM2)) echo echo -e "\033[31m A soma e' $SOMA e a multiplicacao e' $MULTIPLICA" echo -e "\033[0m" 7. Conclusão A Linguagem ShellScript é uma linguagem muito versátil, pois não é necessária sua compilação. Ela não é a mais indicada em aplicações de alto nível de segurança e integridade de dados, uma vez que suas variáveis se "adaptam" ao tipo de dado, não sendo necessária sua declaração de tipo. 8. Bibliografia http://hoohoo.ncsa.uiuc.edu/cgi/env.html http://www.htmlstaff.org/textos1.php http://aurelio.net/shell/apostila-introducao-shell.pdf