Programar em Shell - Script só para os baixinhos

Vira e mexe eu ouço uma velha frase: Shell Script é a linguagem mais fácil que pode existir, é muito fácil programar em Shell. Essa afirmação é correta com certeza, a sintaxe é de fácil entendimento, porém, assim como toda linguagem de programação, ela é complexa também, temos que ser realistas. Muitos programam em Shell, mas poucos realmente dominam. Este artigo vem para fortalecer o fórum do VOL e os iniciantes, a intenção é para ajudar aos iniciantes a escolher esta linguagem como a primeira, já que ela é simples, poderosa e complexa.

[ Hits: 13.186 ]

Por: Slackjeff em 16/10/2017 | Blog: https://slackjeff.com.br


Barreiras



Existem barreiras quando se programa Shell? Claro, vou te explicar.

A grande barreira para os iniciantes nesta linguagem, é que precisam além de aprender a estrutura desta linguagem, o que é normal em qualquer linguagem, ainda precisam conhecer os comandos do mesmo, já que praticamente qualquer programinha que você fizer, irá utilizar comandos do Linux/Unix para tornar seu programa usável.

Um probleminha chato, são as diferenças que existem em cada Shell, você provavelmente vai começar a programar com o Bash, já que este está presente em 90% das distribuições Linux, salvo a Emmi, que é meu projeto que é Fish padrão (haha), mas os seus scripts não vão rodar perfeitamente no Fish, ou KSH, sendo feitos em cima do Bash, acostume-se.

Isso dificulta um pouco quando você resolve deixar o seu programinha publicamente, o usuário ou você mesmo terá que fazer versões diferentes. É só ajustar o shebang (não seja pornográfico, rapaz malicioso) chamando outro shell, #!/bin/ksh ou /bin/fish, tem certeza?

Será que todo script vai rodar certinho? Cada um tem sua particularidade, eu aposto que não vai rodar certo ainda mais se o programa é mais complexo, então, tome cuidado e sempre especifique em qual base shell foi feita.

E se o programa for bem estruturado e mais complexo, faça em outras bases também, isso é bacana apesar que vai te exigir mais mãos para ajustar bugs! Mas esqueça isso no começo, apenas já alertando!

Outra grande barreira, é a questão que todos comandos têm mais de um caminho que se pode seguir, ou seja, em cada momento, em cada programa, ou talvez no mesmo, você usará algo diferente, que te levará ao mesmo caminho! Porém, alguns fazem todo um círculos e outros são diretos!

Quer um exemplo bem fácil?

Eu quero que toda entrada de dados (input) que o usuário der, se converta em letras maiúsculas. Fácil!

read -p		var "Entre com os dados: "; | tr '[:lower:]' '[:upper:]'

Mas, pra que essa curva toda? Podemos usar simplesmente o TYPESET com a opção "-l" (menos ÉLE), ficando:

typeset -l var

Foi mais direto, não foi? Existem outras 10 maneiras para fazer isto! Então, cabe ao programador decidir o que usar e como usar. Há momentos que um comando se encaixa melhor, isto depende da ocasião.

Página anterior     Próxima página

Páginas do artigo
   1. Simplificação
   2. Querido shell script
   3. Barreiras
   4. Aprendizagem
Outros artigos deste autor

Howto de Compilação com Slackbuilds

Compilação Kernel Linux no Slackware

Compilação do Kernel Linux para máquinas locais Debian

Software Manivela VS Software Modinha

Slackware x Debian

Leitura recomendada

Como trabalhar com funções em bash

Discar BrasilTelecom com PPPOE no Ubuntu 6.10

Sed - Introdução

Introdução ao Shell Script

expr - Definição e uso do comando

  
Comentários
[1] Comentário enviado por lucasdemoraesc em 16/10/2017 - 19:25h

Cara... Parabéns.
Gostei muito do artigo
Isso me inspirou bastante, Valeu mesmo, eu tava precisando ler algo assim.

LMC

[2] Comentário enviado por Lwkas em 20/10/2017 - 21:02h

Belo artigo!

[3] Comentário enviado por Note45_ em 22/10/2017 - 12:56h

Belo artigo, já tinha ouvido falar na linguagem mas não tinha me interessado muito mas agora vou buscara prender. Parabéns...

[4] Comentário enviado por janduy em 23/10/2017 - 09:27h

Amigo, bom dia.
Parabéns pelo artigo, eu conheço pouco de shell estou me aventurando agora, mas já estou apaixonado, uso o mesmo para otimizar minhas tarefas diárias em servidores linux. Recomendo um ótimo livro para o pessoal, do mestre "Julio Cesar Neves" ele é um cara fantástico como pessoa e profissional.


Atenciosamente,
Janduy Euclides

[5] Comentário enviado por xerxeslins em 25/10/2017 - 12:00h

Joinha!

Curti!

--
If it ain't broke, fix it until it is.

[6] Comentário enviado por sacioz em 25/10/2017 - 17:11h

Muito bom , como os anteriores , agora uma introdução ao Russo Coloquial (de Moscou ,não Kiev) seria muito bem vinda...obrigado

[7] Comentário enviado por smokysk em 06/12/2019 - 12:21h


em pleno 2019/2020 e vem um artigo desse, e bem inspirador


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts