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.
Agora vamos começar a trabalhar e fazer um script simples, porém
bem mais complexo do que o anterior (não que isso signifique
difícil :P), para montar uma partição no diretório "/mnt/partição".
Após fazer este script, teremos uma noção de como interagir com
o usuário, trabalhar com strings e também como melhorar um pouco
a saída das informações na tela. Conhecimentos básicos para o
desenvolvimento de scripts um pouco mais complexos do que aquele da introdução.
Então, vamos parar de blá-blá-blá e fazer logo este novo script! Com um editor de textos qualquer (particularmente uso o vi), crie um arquivo com um nome qualquer, contendo o seguinte conteúdo:
#! /bin/bash
echo ""
echo -e "Qual partição você deseja montar?" "\c"
read part
echo ""
echo "Onde deseja montar $part ?"
read dir
if [ -d $dir ]
then
mount /dev/$part $dir
else
echo "$dir Não existe!"
fi
Então passemos adiante para ver para que serve cada linha do
script que criamos agora.
[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...