Introdução ao Shell Script, esta poderosa ferramenta que facilita bastante a administração dos sistemas Linux. Com este artigo, espero dar base àqueles que ainda não conhecem o Shell Script para começar a desenvolver seus próprios scripts e entender também scripts feitos por outros membros da comunidade.
Para começar, vamos fazer um brevíssima explicação do que é Shell Script.
Shell é o "prompt de comando" do usuário, é onde são digitados
os comandos para serem executados no sistema, também chamado por
alguns de "interpretador de comandos".
Os scripts nada mais são do que arquivos executáveis de texto
que contém comandos do sistema para serem executados em conjunto,
facilitando a vida do administrador e também dos outros usuários
na execução das mais diversas tarefas no sistema.
Algumas simples, porém importantes dicas para o começo:
Não é aconselhável escrever ou executar scripts como "root", pois ao executar uma linha "destruidora", pode-se comprometer o sistema, o que não acontecerá usando-se um usuário comum :)
Também não é muito aconselhável executar scripts feitos por "estranhos" sem dar uma olhada no conteúdo deles, principalmente como "root"!
Partindo para os scripts propriamente ditos:
Por exemplo, se sempre que for instalar um programa através dos fontes (uma simples tarefa para o administrador do sistema), você precisar digitar os 4 comandos a seguir:
$ ./configure
$ make
$ su
# make install
Então, um arquivo de texto contendo estes 4 comandos resumiria
a execução da tarefa em apenas um comando (o comando para
executar o script).
Com um editor de texto qualquer, indico uso o VI, pois ele vai
colorindo o código do script conforme vamos escrevendo, ajudando
a detectar alguns erros bobos (somente minha opinião, viva a
liberdade de escolha!), crie um arquivo chamado "instalador".
Neste arquivo, insira as seguintes linhas:
#! /bin/bash
./configure
make
su
make install
Agora vamos tornar este arquivo de texto em um arquivo executável:
$ chmod +x instalar
Para executar o script, basta digitar, no shell, o nome do script com um "./" antes. No caso do nosso exemplo ficaria assim:
$ ./instalador
Assim, se não ocorrer nenhum erro durante algum dos processos
acima, você terá o programa instalado. Não esqueçamos que, por
causa do comando "su", será necessária a digitação da senha do
super-usuário.
OBS: Neste caso, para testar este script, ele precisará estar
dentro do diretório onde se encontram os fontes do programa.
Agora vamos partir para o desenvolvimento de um script um pouco
mais complexo, para adquirir mais alguns conceitos e começar a
"caminhar com as próprias pernas"!
[1] Comentário enviado por leoberbert em 21/04/2005 - 13:20h
Caro amigo,
Estou aqui para parabenizá-lo pelo artigo, pois ainda não tinha visto nenhum tutorial que explicasse com clareza essa incrível ferramenta, ficou muito bom e espero que em breve vc estege postando algo mais que faça referência ao mesmo, parabéns pelo ótimo artigo.
[2] Comentário enviado por davidsonpaulo em 21/04/2005 - 16:32h
Aew! Granda Pablo! Tah destruindo nos artigos hein guri! Imagina quando esse cara tiver a sua maquina potente em casa pra praticar... teremos mais um poderoso pinguim contribuindo para o crescimento da comunidade. Eh isso ae guri, parabens!
[3] Comentário enviado por removido em 21/04/2005 - 22:03h
OPa!,
Parabéns amigo pelo artigo essa introdução ajuda muitos concerteza. Só que gostaria de comentar algo na parte que você trabalha com variaveis e diz que são strings.
como segue:
===========================================================
Nesta linha, o comando read guarda o que foi respondido pelo usuário na string part. O nome da string pode ser o que você quiser, usei part porque conterá o nome da partição a ser montada.
===========================================================
corrigido:
===========================================================
Nesta linha, o comando read guarda o que foi respondido pelo usuário na >>variavel<< part. O nome da >>>variavel<<< pode ser o que você quiser, usei part porque conterá o nome da partição a ser montada.
===========================================================
Pelo que sei string é o que vai dentro da variavel nesse caso e não sendo a variavel. Ao menos em outras linguagens toda variavel é indentificada quando "guarda" temporariamente na memoria da execução do script informações.
[6] Comentário enviado por feraf em 23/04/2005 - 09:19h
Só há um pequeno problema com o script do 'instalador':
Quando você da o comando 'su', ele interrompe o script, e só continua ele quando você da um 'exit' e sai do root. Uma alternativa seria entrar no su já passando um comando a ser executado. Ele irá entrar como root, executar o comando e sair. Somente substituindo os comandos 'su' e 'make install' por:
[8] Comentário enviado por pexao em 23/04/2005 - 11:01h
Parabens pelo artigo.
Porem vi um erro na primeira pagina.
Voce tornou o arquivo executavel que se chama:
--------------------------------------------------------------
Agora vamos tornar este arquivo de texto em um arquivo executável:
E depois utilizou o arquivo para executar:
--------------------------------------------------------------
$ ./instalador
--------------------------------------------------------------
Sei que parece simples porem quando uma pessoa erra apenas uma virgula, pode gerar um problema enorme.
Fica a dica ae.
:)
[9] Comentário enviado por pablocarlos em 23/04/2005 - 11:34h
E aí pessoal !
Queria agradecer a todos que leram o artigo e a todos os que corrigiram os erros q foram aparecendo(que por sinal sao bem graves, mesmo que pequenos)...
Acontece que não tenho tanto tempo de bagagem Linux...mas nao quero justificar erros, estou aí pra aprender c/ eles e c/ toda a comunidade.
Obrigado e espero que, mesmo c/ todos os erros, tenha ajudado alguém !
[11] Comentário enviado por agk em 28/04/2005 - 21:29h
Parabéns pelo artigo, se eu tivesse lido isso quando estava aprendendo shell script teria me ajudado muito com certeza. Excelente artigo para que está começando a navegar pelas linha de comando, ehehe.
Sugestão: em um próximo artigo procure aprofundar um pouco mais, utilizando váriáveis do sistema, comandos como while, for, entre outros. Shell Script tem muita coisa, muita mesmo.
[12] Comentário enviado por Hernando em 07/06/2005 - 10:10h
Parabéns... ótimo artigo... Porque tu não faz agora um onde a partição e o ponto de montagem são variaveis pré definidas e acionadas atraves de um comando simples tipo:
1) Partição01
2) Partição02
3) Partição...
e consequentemente
1) PontoMNT01
1) PontoMNT02
1) PontoMNT...
Eu já o tenho aqui pois acho muito util na hora de montar pontos de rede em outra plataforma onde tenho que ficar digitando milhões de coisa... Só não postei para dar a dica pra tu dar continuação ao teu artigo
[13] Comentário enviado por mailws em 11/11/2005 - 20:09h
Parabéns. Agora quero saber, se tem como, fazer um link para o arquivo que agente acabou de construir, sem precisar toda vez que for executar, digitar "./arquivo".
[17] Comentário enviado por antoniojbs em 05/09/2006 - 12:59h
Parabéns pablocarlos seu artigos esta me ajudando muito,um artigo bem elaborado para quem esta començando e não sabe nada de shel como eu,mas estou fazendo muitas buscas e lendo muito a respeito da linguagem espero que com a ajuda d pessoas como vc eu consiga me tornar pelo menos razoavel......
[26] Comentário enviado por piiruck@ em 27/04/2010 - 12:13h
Bom Eu quero saber como eu executo o shells aonde eu execute não entendi essa parte qual programa ultilizo aonde escrevo os comandos para exectar me ajuda ae Vlw...