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.866 ]

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

Como trabalhar com funções em bash

Debugando shell scripts

As maravilhas do Shell Script

Shell Script: Primeiros conceitos

Sed - Introdução

  
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
Linux banner

Destaques

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts