Algoritmos em Shell Script

Abordando de forma conceitual e prática, a construção de algoritmos através de Shell Script.

[ Hits: 47.999 ]

Por: Wagner Souza em 20/06/2014 | Blog: https://medium.com/@souzaw


Introdução / O Shell Script



Introdução

O estudo de algoritmos, é de fundamental importância para o desenvolvimento da lógica de programação e, consequentemente, o aprendizado e domínio de uma linguagem de programação.

Um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas, ou seja, um conjunto de instruções executadas passo a passo, necessários para executar uma tarefa.

Outra definição muito interessante de algoritmo:
"Um algoritmo tem por objetivo, representar mais fielmente o raciocínio envolvido na lógica de programação e, desta forma, permitir-nos abstrair de uma série de detalhes computacionais, que podem ser acrescentados mais tarde." [1]

Utiliza-se algoritmos para resolver problemas reais de forma abstrata com o auxílio de uma linguagem de programação ou até mesmo por fluxogramas, que são gráficos que demonstram a sequência operacional do desenvolvimento de um processo.

Este processo pode ser a troca de uma lâmpada, calcular a média aritmética de alunos, o espaço percorrido por um carro, entre outros.

A figura 1, mostra um exemplo de um algoritmo representado por um fluxograma:
Linux: Algoritmos em Shell Script

O Shell Script

O shell, nada mais é, do que um mediador entre o usuário e o kernel do sistema operacional. Este, interpreta a entrada de comandos por meio da linguagem bash, também conhecido como shell. O bash (Bourne Again Shell), é o shell mais utilizado em modo texto em sistemas GNU/Linux.

Shell Script é utilizado para combinar vários comandos em um único arquivo, onde este deverá ter permissão de execução. Estes scripts são frequentemente usado como ferramenta de configuração e instalação em sistemas operacionais.

Possui características de linguagens de programação, como:
  • Estrutura de decisão;
  • Estrutura de repetição;
  • Funções e argumentos;
  • Definições de variáveis.

Abaixo, uma lista com os principais shells utilizados em ambientes Unix e Unix Like[1]:
  • Bourne Shell (sh): Desenvolvido por Stephen Bourne do Bell Labs (da AT&T, onde também foi desenvolvido o Unix), foi durante muitos anos o shell padrão do sistema operacional Unix. É também chamado de Standard Shell por ter sido durante vários anos o único, e é até hoje o mais utilizado. Foi portado para praticamente todos os ambientes Unix e distribuições GNU/Linux.

  • Korn Shell (ksh): Desenvolvido por David Korn, também do Bell Labs, é um superconjunto do sh, isto é, possui todas as facilidades do sh e a elas agregou muitas outras. A compatibilidade total com o sh vem trazendo muitos usuários e programadores de shell para este ambiente.

  • Boune Again Shell (bash): Desenvolvido inicialmente por Brian Fox e Chet Ramey, este é o shell do projeto GNU. O número de seus adeptos é o que mais cresce em todo o mundo, seja porque ele é o Shell padrão do Linux, seja por sua grande diversidade de comandos, que incorpora inclusive diversos comandos característicos do C Shell.

  • C Shell (csh): Desenvolvido por Bill Joy, da Universidade de Berkley, é o shell mais utilizado em ambientes BSD. Foi ele quem introduziu o histórico de comandos. A estruturação de seus comandos é bem similar à da Linguagem C. Seu grande pecado, foi ignorar a compatibilidade com o sh, partindo por um caminho próprio.

    Próxima página

Páginas do artigo
   1. Introdução / O Shell Script
   2. Variáveis / Operadores
   3. Primeiros algoritmos
   4. Estrutura de seleção
   5. Estrutura de repetição
   6. Funções
   7. Vetor (array)
Outros artigos deste autor

Exploração de Falhas em Servidores FTP

Shell Script nosso de cada dia - Episódio 3

Atualização das provas LPIC-1, 304 e Essentials

Montando Servidor de Internet com Ubuntu Server

Elastic SIEM - Instalação e Configuração do LAB (Parte I)

Leitura recomendada

Sed - Introdução

Exemplos práticos de comandos com Parted

Variáveis, if, else e unless em Ruby

Debugando shell scripts

Como matar um processo - kill, killall, pkill e xkill

  
Comentários
[1] Comentário enviado por di4s em 20/06/2014 - 00:36h

muito bom, parabéns

[2] Comentário enviado por jwolff em 20/06/2014 - 09:22h

obrigado por compartilhar seu conhecimento

[3] Comentário enviado por wagnerfs em 20/06/2014 - 09:38h

Obrigado pessoal pelo incentivo. Acompanhem também os exercícios práticos para LPI que semanalmente posto aqui no VOL. Em breve estarei disponibilizando novos artigos.

[4] Comentário enviado por removido em 20/06/2014 - 12:01h

Ótimo artigo!

Estou estudando Lógica de Programação e ajudou a estudar as variáveis/operadores de forma mais ampla.
VLW!

[5] Comentário enviado por danniel-lara em 20/06/2014 - 14:28h

Meus Parabéns
Muito bom o seu Artigo

[6] Comentário enviado por andregyn em 21/06/2014 - 10:26h

Muito bom!!
Parabéns pelo artigo.

[7] Comentário enviado por xerxeslins em 21/06/2014 - 10:55h

Curti. já botei nos favoritos.

[8] Comentário enviado por removido em 21/06/2014 - 15:19h

Muito bom,espalhando conhecimento!Quando eu pegar mais as manhas do linux e unix também pretendo postar umas dicas aqui.Estou estudando C e shellScript também,foi de grande ajuda.

[9] Comentário enviado por xjc em 22/06/2014 - 00:43h

Show de bola, inovou e jogou duro, parabéns

[10] Comentário enviado por removido em 24/06/2014 - 10:43h

Muito bom seu artigo! Estou iniciando em shellscript e foi de grande proveito este artigo. Escreve muito bem e a bibliografia que utilizou também é muito boa.
Poderia me dizer onde se encontra estes exercícios para a LPI?
Um grande abraço!

[11] Comentário enviado por wagnerfs em 24/06/2014 - 10:50h

Obrigado malkoonqnu. Segue o link do primeiro exercício http://www.vivaolinux.com.br/dica/Exercicio-Pratico-LPIC-01. Abaixo deste, tem o link do segundo. Toda semana estou postando novos exercícios.

[12] Comentário enviado por andregyn em 09/07/2014 - 20:26h

A variável para conversão de Celsius para Fahrenheit ficaria assim: fah=$((9*$cel/5+32))
Belo artigo.

[13] Comentário enviado por raphaellima em 24/09/2014 - 12:03h

Muito bom velho.

[14] Comentário enviado por cleciosc em 30/09/2014 - 20:48h

Excelente artigo.

Ps.: Após apresentada a formula ( F=(9*C+160) / 5 ), o calculo efetuado no script está incorreto, fah=$((9*$cel+160)). Faltou a divisão por 5, ou seja, estaria apresentando um cálculo errado no meu script.

Só foi uma observação principalmente para aqueles que estão acostumados com as teclas CTRL+C e CTRL+V.







Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts