Pular para o conteúdo

Introdução ao uso de Shell Script

Este artigo se destina aos iniciantes em sistemas Unix-like, como o GNU/Linux, que estejam interessados em aprender Shell Script.
Leonardo Afonso Amorim leonardoamorim
Hits: 141.841 Categoria: Shell Script Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar

Parte 3: Conhecimentos básicos

O uso da tralha


A tralha ou jogo da velha (#) representa, em várias linguagens de programação, um comentário, o mesmo acontece com o Shell Script. Um script em Shell é iniciado, não obrigatoriamente, com a seguinte linha:

#!/bin/SHELL_EM_USO

Para o GNU/Linux:

#!/bin/bash
A linha acima indica o caminho (path) para o interpretador que será usado no script.

Crase


As crases são usadas para dar prioridade a um comando, veja um exemplo:

$ echo "A versão do kernel do `uname -o` é `uname -r`"

Saída:
A versão do kernel deste GNU/Linux é 2.6.13

Se você tirar as crases, veja a saída:

A versão do kernel deste uname -o é uname -r

Aspas


Se você deseja escrever um frase espacejada, escreva-a entre aspas.

Variável


Uma variável é representada por $ (cifrão).

Exemplo de variável:

# guarda_roupa=camiseta
# echo $guarda_roupa

Saída:

camiseta

Barra invertida


A barra invertida (\) nega um caracter posterior, por isso é muito usada para caracteres especiais (principalmente se estes são executáveis).

Se eu quisesse imprimir o nome de uma variável e não o seu conteúdo eu faria assim:

$ echo \$guarda_roupa

Se eu digitasse sem a barra invertida antes do $, seria exibido o conteúdo da variável e não seu nome.

Permissão para execução de script


Depois de editar um novo script, é necessário que modifiquemos a permissão deste arquivo, senão este não poderá ser executado, veja o por quê:

$ ls -l
-rw-r--r--  1 leo users 0 2006-05-20 13:20 codigo_fonte

$ chmod +x codigo_fonte

$ ls -l
-rwxr-xr-x  1 leo users 0 2006-05-20 13:20 codigo_fonte*

Para executar:

$ codigo_fonte

Ponto e vírgula ;


O ponto é vírgula (;) serve para separar comandos. Exemplo:

# mkdir guardaroupa;cd guardaroupa;touch camiseta;touch bermuda

Este conjunto de comandos diz:

Crie um diretório chamado "guardaroupa", entre nele e crie os arquivos "camiseta" e "bermuda" vazios.

   1. Introdução
   2. Tipos de shell (os principais)
   3. Conhecimentos básicos
   4. Matemática no shell
   5. Trabalhando com parâmetros
   6. Trabalhando com entrada e saída de dados
   7. Um exemplo de shell script básico
   8. Orientações para os iniciantes

O que é $PATH, como funciona e como trabalhar com ele

OpenLdap no Debian Squeeze

Configurando JAVA no Firefox para acessar página de bancos

Configurar uma rede doméstica e compartilhar ADSL no Slackware

O mundo a um clique e um "Eu" fora de nós

Programar em Shell - Script só para os baixinhos

AWK - Manipulação de arquivos de texto

Algoritmos em Shell Script

Mostrando dicas ao iniciar o terminal

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

#1 Comentário enviado por removido em 30/05/2006 - 10:40h
Artigo simples mas suficiente pra despertar interesses. Até porque, falar sobre shell script de forma completa é impossível. Isso é assunto pra vários livros (como o do prof. Julio Cezar Neves), sobretudo porque, como é uma linguagém de programação, a quantidade de informações sobre comandos é uma enormidade.

Resta aos interessados mergulharem de cabeça e se dedicarem ao máximo no aprendizado dessa modalidade de programação.

Abraço,

Wesley Caiapó
#2 Comentário enviado por aprendiz_ce em 30/05/2006 - 12:24h
Muito bom!

Artigo simples e bem objetivo.

Parabéns pela sua contribuição.
#3 Comentário enviado por thelinux em 30/05/2006 - 13:01h
Parabéns pelo tuto. Muito prático mesmo.
#4 Comentário enviado por tenchi em 30/05/2006 - 13:25h
Muito bom o artigo, mas tem uma coisa que eu nao entendi. Em varios momentos voce cita a barra inversa, mas quando vai dar o exemplo contendo ela, eu naum vejo nenhuma barra.
#5 Comentário enviado por leonardoamorim em 30/05/2006 - 19:01h
tenchi, desculpe-me, durante a formatação eu esqueci de colocar a barra. Já fiz a correção. :)
#6 Comentário enviado por nataliawanick em 31/05/2006 - 06:11h
Muito bom seu artigo, parabéns!
#7 Comentário enviado por f360c4 em 31/05/2006 - 08:31h
profissional seu artigo :D parabéns
#8 Comentário enviado por claudiolima em 31/05/2006 - 10:05h
Bom artigo, gostei pois a linguagem se parece com o PHP, e nisso sou muito bom!
#9 Comentário enviado por dredmc em 26/06/2006 - 00:04h
muito bom artigo continue assim contribuindo com a familia "FREE"...... outra coisa alguem tem videosula de fotoshop ou fireworks ou gimp com urgencia?
#10 Comentário enviado por nayara em 26/06/2007 - 15:20h
Muito bom artigo, simples e com bons exemplos.
#11 Comentário enviado por f_Candido em 21/07/2007 - 01:19h
Muito bom, me ajudou bastante em meus estudos...
#12 Comentário enviado por DaniloM em 26/10/2007 - 22:03h
Cara, isso já vem acontesendo comigo a um tempinho. A maioria dos exemplos que sigo, sempre da algum erro diferente mesmo eu dando Ctrl+C e Ctrol+V. Poderiamos nos encontrar no msn?
#13 Comentário enviado por rakeva em 31/08/2009 - 10:09h
Muito Bom! Ótimo artigo!
#14 Comentário enviado por ytriosalmito em 03/11/2012 - 00:56h
Muito bom ;D

Contribuir com comentário

Entre na sua conta para comentar.