Introdução ao Shell Script

Nesta série de quatro artigos serão apresentados os principais conceitos de Shell Script. Nesta primeira parte discutiremos o que é shell script e você poderá criar seu primeiro script.

[ Hits: 99.152 ]

Por: Tadeu Rocha em 23/11/2003


Introdução



Olá, meu nome é Tadeu (misterlinux).

Este artigo é sobre a introdução ao uso de shell scripts. Sei que a maioria de vocês sabem usar shell scripts, mas como já andei muito pelo Viva o Linux e ainda não vi um bom tutorial de introdução a shell scripting, resolvi então criá-lo.

O script abaixo não é meu, mas serve como base para explicação.

Introdução a Shell Scripting


Shell scripts são um meio de executar várias tarefas em apenas um comando, muitas vezes com o objetivo de facilitar o trabalho de quem os usa. A facilidade na criação destes scripts é um ponto forte que faz com que muitas pessoas optem por este tipo de linguagem sempre que possível, pois estes possuem algumas limitações.

A seguir um exemplo de shell script bem simples. Crie o arquivo adicionar.sh com o seguinte conteúdo:

#!/bin/sh
# Shell script para adicionar uma linha com conteúdo definido
# pelo usuário a um arquivo qualquer

echo -e "Inserir:" '\c'
read inserir
echo $inserir >> $1

Salve-o em /home/adicionar.sh e dê a ele permissão de execução:

# chmod +x /home/adicionar.sh

Agora digite no prompt:

$ /home/adicionar.sh nome_do_arquivo_a_ser_alterado

A seguir a explicação de cada linha:
  1. Essa linha especifica ao shell qual interpretador deve ser usado para a execução do programa, como este é um shell script, o interpretador usado é o sh, contido no diretório "/bin".
  2. Apena comentários (para comentar linhas preceda-as por "#").
  3. Idem ao 2.
  4. O comando "echo" é utilizado para exibir um prompt ao usuário para que ele digite o que deseja inserir no arquivo.
  5. Define que aquilo que o usuário digitou no prompt será chamado pela string $inserir.
  6. Finalmente, utiliza o comando "echo" para enviar o que o usuário digitou para a última linha do arquivo que foi especificado no primeiro argumento do comando "$1".
Simples, não?! Agora vamos a algumas dúvidas que podem ter surgido:

P: Por que foram utilizados os argumentos "-e" e "'\c'" no comando "echo"?
R: O argumento "-e" habilita a interpretação de argumentos como o "'\c'", que por sua vez é utilizado para que crie-se um prompt na posição em que ele estiver.

P: Pra que serve esse ">>"?
R: Serve para aquilo que seria exibido na saída default seja inserido em um determinado arquivo sem destruir o conteúdo do mesmo. Caso fosse um ">" solitário, o conteúdo do arquivo seria destruído e ele passaria a ter apenas o que foi fornecido por nós. Esse tipo de função chama-se "append".

Até a próxima pessoal!

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Introdução ao Shell Script (parte 2)

Leitura recomendada

Trabalhar com array no Bash

expr - Definição e uso do comando

Simples e rápido: matando todos os processos de um usuário

Programando em shell script (conceitos básicos)

Como trabalhar com funções em bash

  
Comentários
[1] Comentário enviado por lordello em 25/11/2003 - 00:25h

Amiguinho, achei muito legal você abordar esse assunto, para béns.
Você podia indicar alguns sites com tutoriais sorbe shell script, seria muito legal, com exemplos se possível.
Falow!

[2] Comentário enviado por linuxdeveloper em 15/04/2004 - 16:52h

legal esse seu script se vc souber como eu posso comecar criar um script que faca
um invasor e barrado pelo meu portsentry e seu ip fica bloqueado quero pegar esse ip e criar uma rota para ele para fazer o contra como poderia fazer isso

[3] Comentário enviado por linuxdeveloper em 15/04/2004 - 16:53h

legal esse seu script se vc souber como eu posso comecar criar um script que faca
um invasor e barrado pelo meu portsentry e seu ip fica bloqueado quero pegar esse ip e criar uma rota para ele para fazer o contra como poderia fazer isso

[4] Comentário enviado por linuxdeveloper em 15/04/2004 - 16:56h

legal esse seu script se vc souber como eu posso comecar criar um script que faca
um invasor e barrado pelo meu portsentry e seu ip fica bloqueado quero pegar esse ip e criar uma rota para ele para fazer o contra como poderia fazer isso

[5] Comentário enviado por Xxoin em 26/04/2004 - 01:39h

Mano, muito bom o seu artigo, parece até ser um "clone" do que se encontra no link abaixo:
http://sh.underlinux.com.br/doc/programacaosh.htm

[6] Comentário enviado por lfsantos em 30/04/2004 - 11:18h

Eu gostei muito desse artigo, mas ele já foi publicado aqui a alguns meses. Então até a próxima.

[7] Comentário enviado por mzanetti11 em 23/10/2004 - 18:54h

gostaria de saber como pego valores de um arquivo xml jogo estes valores em variaveis de um script, pode me ajudar

[8] Comentário enviado por breulitro em 07/12/2004 - 02:46h

tri bom esse artigo

[9] Comentário enviado por hercules em 20/02/2005 - 08:11h

Cara foi bem legal.
Será que vc poderia enviar algum material pro meu e-mail, estou fazendo um trabalho da escola e não to conseguindo encontrar um material bom de introdução para o Shell script. Valeu mesmo.
meu e-mail é herculesjpa@hotmail.com

[10] Comentário enviado por mailws em 11/11/2005 - 19:29h

Ainda não entendi...

[11] Comentário enviado por PhenriquePH em 26/12/2006 - 22:25h

muito legal esse artigo bem interessante gostei bastante

[12] Comentário enviado por tiagonetwork em 02/05/2007 - 10:52h

Até quem enfim, uma definição simples e dirte do shell, valeu guri...

[13] Comentário enviado por anselmu em 02/06/2008 - 14:47h

Muito legal o artigo. Aguardo os próximos.

[14] Comentário enviado por agl77 em 10/10/2008 - 15:03h

cada comando shell e ótimo saber pra q serve
abç

[15] Comentário enviado por patrão01 em 14/05/2009 - 20:17h

Quero saber como posso trabalhar com o Script no bactrack?

[16] Comentário enviado por removido em 30/12/2010 - 01:08h

patrão01

O bactrack pode ser utilizado como qualquer outra distribuição!
Independente se tu queres usar o shell!!!

Seguindo o exemplo do camaradinha ai funciona normalmente no backtarck!!!

Pena que ele clonou o artigo!!


[17] Comentário enviado por rayanmaia em 31/08/2012 - 17:51h

Muito bom este post.
Valeu.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
{BANNER_MODEL3}

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts