jukilo Ranking
Mensagens : 624 Data de inscrição : 01/03/2008
| Assunto: Programando em Shell Script <1> Dom Jun 15, 2008 4:23 pm | |
| Bem, devido a reviravolta ocorrida aqui no forum, estou postando denovo pra quem nao viu os mini-tutoriais sobre programar em Shell Script...
Como você já deve saber, a shell do Linux é uma poderosa ferramenta que traz ao usuário toda a flexibilidade dos sistemas Unix e todos seus comandos. No nosso caso, usamos o bash em todo o procedimento desse manual, então nada mais justo do que explicarmos um pouco de desenvolvimento com scripts-shell do bash
Muita gente não sabe que o bash tem uma poderosa linguagem de script embutida nele. Diversas pessoas utilizam-se desta linguagem para facilitar a realização de inúmeras tarefas administrativas em um sistema Linux, ou até mesmo para criar seus próprios programas! Para quem gosta de usar a criatividade para criar coisas e facilitar o uso do sistema no dia-a-dia, o shell-script é um prato cheio para começar.
Costumo indicar para quem está começando programação à dar uma olhada em shell-script. E faço isso porque o shell-script é bastante simples, te dá uma boa noção do básico da lógica de programação e te dá resultados imediatos! Combinando todos os comandos avançados do Linux, você consegue fazer coisas bem úteis e aprender muito!
Você poderá criar scripts para automatizar as tarefas diárias de um servidor, para efetuar backup automático regularmente, procurar textos, criar formatações e muito mais!
Primeiros passos
Uma das vantagens do shell-script é que ele não precisa ser compilado, ou seja, basta apenas criar um arquivo texto qualquer e inserir comandos nele. Para dar a este arquivo a definição de shell-script, teremos que incluir uma linha no começo do arquivo:
Código:
#!/bin/bash
Essa linha diz ao interpretador de comandos para que quando o usuário executar o arquivo, ele execute através do programa /bin/bash, significando então que é um script shell!
Depois de colocada a linha, basta apenas tornar o arquivo executável, utilizando o comando chmod. Vamos seguir com um pequeno exemplo de um script shell que mostre na tela: "Nossa, estou vivo!": Código:
#!/bin/bash echo 'Nossa! Estou vivo! Levantei da tumba! Yikes!'
Exemplo de script shell "Nossa, estou vivo!"
Fácil, hein? A primeira linha a gente já sabe pra que serve e a segunda linha mostrará na tela a frase "Nossa! Estou vivo!", utilizando o comando echo, que serve justamente para isso (mostrar coisas na tela). Como você pôde ver, todos os comandos que você digita diretamente na linha de comando, você poderá incluir no seu script shell, criando uma série de comandos e é essa combinação de comandos que forma o chamado shell script. Tente também dar o comando file arquivo e veja que a definição dele é de Bourne-Again Shell Script (Bash Script).
Para o arquivo poder se executável, você tem de atribuir o comando de executável para ele. E como citamos anteriormente, o comando chmod se encarrega disto:
Código:
$ chmod +x arquivo
Pronto, o arquivo poderá ser executado com um simples ./arquivo.
Conceito de variáveis em shell-script
Variáveis são caracteres que armazenam dados, uma espécie de atalho. O bash reconhece uma variável quando ela começa com $, ou seja, a diferença entre palavra e $palavra é que a primeira é uma palavra qualquer e a outra uma variável. Para definir uma variável, utilizamos a seguinte sintaxe:
Código:
variavel="valor"
O "valor" será atribuído à "variável". "Valor" pode ser uma frase, números e até outras variáveis e comandos. O valor pode ser expressado entre as aspas (""), apóstrofos ('') ou crases (``). As aspas vão interpretar as variáveis que estiverem dentro do valor, os apóstrofos lerão o valor literalmente, sem interpretar nada e as crases vão interpretar um comando e retornar a sua saída para a variável. Vejamos exemplos para entender melhor:
Código:
$ variavel="Eu estou logado como usuário $user" $ echo $variavel
Eu estou logado como usuário cla
Código:
$ variavel='Eu estou logado como usuário $user' $ echo $variavel
Eu estou logado como usuário $user Código:
$ variavel="Meu diretório atual é o `pwd`" $ echo $variavel
Meu diretório atual é o /home/cla
Se você quiser criar um script em que o usuário deve interagir com ele, é possível que você queira que o próprio usuário defina uma variável e para isso usamos o comando read, que dará uma pausa no script e ficarará esperando o usuário digitar algum valor e teclar Enter. Exemplo:
Código:
$ echo "Entre com o valor para a variável: " ; read variavel
O usuário digita e tecla Enter, vamos supor que ele digitou a frase "www.forum-hacker.com.br/forum":
Código:
$ echo $variavel
Código:
www.forum-hacker.com.br/forum
Amanha posto o resto e quem sabe termino.... Abraços, Krlos. | |
|