Introdução ao Shell Script - Baseado no livro de Ken O. Burtch

Esse artigo foi elaborado tendo como base, o livro "Scripts de Shell Linux com Bash" de Ken O. Burtch. Abordando os tópicos essenciais para começar a criar scripts. Ensinando os conceitos básicos para criação de laço de repetição, estruturas condicionais, funções, operações aritméticas, scripts bem comportados, entre outras.

[ Hits: 26.465 ]

Por: Calebe Bastos Oliveira em 13/12/2013


Introdução



Este artigo foi elaborado tendo como base, o livro Scripts de Shell Linux com Bash, do autor Ken O. Burtch, livro no qual eu estudei Shell Script e fiz um resumo pessoal. Deste resumo, resolvi redigir um texto ensinando como trabalhar com essa linguagem.

Esse artigo contém os seguintes tópicos:
  • Conceitos Iniciais,
  • Comando printf,
  • Códigos de Formatação,
  • Declaração de Variáveis,
  • Atributos de Variáveis,
  • Como Ler do Teclado,
  • Expressões aritméticas,
  • Comando if, Comando test,
  • Comparar Inteiro,
  • Laço for,
  • Funções de Shell,
  • Script Bem Comportado,
  • Declarações Globais,
  • Verificação de Sanidade,
  • Limpeza.

E, também, contém exercícios com respostas que eu elaborei para fixar melhor o conteúdo, já que o livro não traz exercícios. Com esse artigo, pretendo ajudar aqueles que desejam começar os estudos dessa linguagem e também, iniciando minhas contribuições com a comunidade.

Quando iniciei os estudos, percebi que havia muitas dúvidas referentes ao fato da linguagem Shell Script ser uma linguagem de programação ou, simplesmente, ser uma linguagem de comando.

Então, a primeira questão a ser pensada, é: o que caracteriza uma linguagem de programação?

Ela é caracterizada por ter estruturas condicionais, laços de repetição, a possibilidade de modularização, entre outras. Como a linguagem Shell Script tem essas características, ela pode ser considerada uma linguagem de programação.

Essa linguagem é utilizada para a construção de pequenas rotinas, como o seu próprio nome já diz, pois, apesar de não ter uma definição precisa do que seja Script, pode-se dizer que é um pequeno programa. É uma linguagem interpretada.

Para fins didáticos, é interessante o leitor ir testando os comandos à medida em que lê o texto, e os exercícios auxiliarão na fixação do conteúdo. Você pode testar os códigos direto do terminal, ou pode utilizar sites que tem o interpretador de shell.

Eu testei dois, que foram:
Os dois são muito bons.

Conceitos iniciais

Para iniciar os estudos, é necessário conhecer alguns termos técnicos que serão utilizados no decorrer do artigo, e também, algumas informações essenciais para começar a criar os primeiros scripts:
  • Palavra chave :: é uma palavra, ou símbolo, que tem um significado especial para uma linguagem de computador. Ex.: case, do, for, function, while, [ ],{ }, etc.
  • Utilitários :: são comandos de propósito geral, úteis em muitas aplicações, como retornar a data ou contar o número de linhas de um arquivo. Ex.: date, wc.
  • Filtros :: são comandos que pegam os resultados de um comando e os modificam de alguma forma. Ex.: grep.
  • Argumentos :: são informações adicionais fornecidas para um comando, a fim de alterar seu comportamento. Ex.: date '+%H:%M'.
  • Chaves (opções ou flags). Ex.: ls --color, ls -l, ls -a. Obs.: as chaves e os argumentos são chamados coletivamente de parâmetros.
  • Para criar comentário, utiliza-se a tralha (#). Ex.: # Comentário.
  • A primeira linha de um arquivo de Shell Script, deve conter o caminho para o interpretador de shell. Ex.: #!bin/bash
  • O arquivo de Shell Script deve ser salvo com a extensão: .sh
  • Para rodar o arquivo de Shell Script, deve-se digitar no terminal: bash nomedoarquivo.sh

    Próxima página

Páginas do artigo
   1. Introdução
   2. Comando printf / Variáveis
   3. Como ler do teclado / Expressões aritméticas
   4. Comando if e test / Laço for
   5. Funções de shell
   6. Exercícios
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

expr - Definição e uso do comando

Dialog em GTK

Bitwise - Escovando os bits

Programando em shell script (conceitos básicos)

Programando em Shell Script para iniciantes

  
Comentários
[1] Comentário enviado por removido em 13/12/2013 - 14:06h

Cara,

Excelente trabalho!

[2] Comentário enviado por calebebastos em 13/12/2013 - 14:13h

Fico Feliz que tenha gostado.

Abraço


[3] Comentário enviado por kirito em 13/12/2013 - 18:32h

Seu artigo está ótimo, mas só uma pequena dúvida..
Se você colocar a primeira linha como #!/bin/interpretador, não a necessidade de chamar o interpretador(bash), é só dar a permissão de execução e rodar o programa, ou estou errado ?
Sou iniciante em Shell, então talvez eu esteja falando besteira kk

[4] Comentário enviado por calebebastos em 13/12/2013 - 19:36h

Bem na distribuição que eu uso, eu sempre utilizo o comando bash, costuma não funcionar sem por causa de permissões de execução ai acho mais prático utilizar ele. Se vc der premissão ao arquivo basta clicar nele. Agora essa primeira linha com o caminho do interpretador em um bom script sempre tem que ter, dê uma olhada na parte de Script bem comportado, faz parte do cabeçalho. Faça o teste ai e nos conte. Espero ter ajudado. Obrigado pelo comentário. Abraço

[5] Comentário enviado por kirito em 14/12/2013 - 12:04h

Obrigado pela esclarecimento e atenção. Tive essa dúvida porque em meus scripts eu dou o comando para dar permissão de execução e rodo o programa. Estou pensando em publicar um artigo para executar programas em C e em Assembly mais rápido.. Obrigado novamente, e meus parabéns pelo o ótimo artigo!

[6] Comentário enviado por calebebastos em 15/12/2013 - 13:39h

Bacana, faça o artigo é um tema bem interessante e qualquer dúvida tamo ai. VL

[7] Comentário enviado por ragen em 16/12/2013 - 11:50h

Favoritado! A didática do artigo é excelente.

Abs

Ragen

[8] Comentário enviado por calebebastos em 16/12/2013 - 13:54h

Obrigado ragen, fico feliz que tenha gostado. Abraço

[9] Comentário enviado por azk em 18/12/2013 - 09:09h

Belo artigo!
Obrigado pela contribuição, Calebe....

favoritado
;-))

[10] Comentário enviado por ricardoolonca em 18/12/2013 - 10:00h

Parabéns pelo artigo. Está muito bom.

Alguns comentários:
1- O script não precisa ser salvo com a exstensão .sh. Neste caso, a extensão serve apenas para nós sabermos que o arquivo é um script bash. Mas ele pode ter qualquer extensão, ou nem ter extensão nenhuma.

2- Para executar, você pode usar:
bash arquivo.sh

ou dar permissão de execusão com o comando
chmod +x arquivi.sh

e executá-lo com uma das seguintes formas:
./arquivo.sh
/caminho/completo/do/arquivo.sh

3- Para efetuar cálculos, você pode usar a seguinte forma:

soma
x=$[2+3]

multiplicação
x=$[2*3]

Sempre uso os sites abaixo como referência. O primeiro é sobre o bash, e o segundo é sobre o dialog, que é uma forma de colocar menus em seus script

http://aurelio.net/shell/canivete.html
http://aurelio.net/shell/dialog/#menu

Outros artigos de exemplo:
http://ricardoolonca.blogspot.com.br/2012/08/como-gerar-numeros-aleatorios-em-script.html
http://ricardoolonca.blogspot.com.br/2013/09/script-bash-com-cores.html
http://ricardoolonca.blogspot.com.br/2012/07/incremente-seus-scripts-bash-com-dialog.html

[11] Comentário enviado por calebebastos em 21/12/2013 - 13:09h

Obrigado pelo comentário e azk4n e ricardoolonca. Abraço

[12] Comentário enviado por davidsiqueira em 24/12/2013 - 02:07h

muito bom seu trabalho

[13] Comentário enviado por calebebastos em 24/12/2013 - 17:26h

Obrigado pelo comentário davidsiqueira. Abraço

[14] Comentário enviado por alanvictorjp em 08/01/2014 - 06:14h

Muito bom!

ricardoolonca $[], essa pra mim é nova, vlw!

[15] Comentário enviado por renato473 em 25/02/2014 - 23:20h

otimo

[16] Comentário enviado por manoelmarins em 10/05/2018 - 21:59h

Muito bom.
Devia ter acreditado mais no linux.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts