Alguns recursos do BASH para você utilizar em seus programas

Neste artigo mostrarei alguns recursos úteis para os amantes de shell-script, mas que não querem escrever somente scripts, e sim verdadeiros e complexos programas.

[ Hits: 45.273 ]

Por: Leandro Santiago em 07/02/2008 | Blog: http://leandrosan.wordpress.com


Introdução



Mas, afinal, qual a diferença entre um script e um programa?

Bem, não há uma linha que divide os dois tipos, mas em geral um script é algo descartável. Normalmente é um conjunto de passos que visam automatizar alguma tarefa. Não mais que isso.

Ser um script ou um programa independe da linguagem utilizada. Isso significa que é possível fazer programas ultra-complexos utilizando linguagens interpretadas como python, php ou tcl. E também é possível escrever programas pequenos e simples com linguagens como C, C++ ou Java.

Mas é claro que normalmente escolhemos linguagens mais simples para criarmos scripts; e as mais poderosas para criar programas complexos.

Outro diferencial entre um mero script e um programa é o fato de programas normalmente serem constantemente atualizados. Como scripts são descartáveis, de que adianta os desenvolver continuamente? Você normalmente os utiliza quando com pressa. Escreve umas poucas linhas e pronto. Não é necessário documentar nem nada.

Tendo isso em mente, tento neste artigo mostrar alguns truques que você pode utilizar em seus programas em bash. Algumas delas aumentam e muito o consumo de processamento do programa, mas muitas vezes precisamos deixar um pouco de lado o desempenho e pensar em comodidade! (Não, não fiz referência à Java ;-)).

    Próxima página

Páginas do artigo
   1. Introdução
   2. Declaração Condicional de Funções
   3. Como criar programas internacionalizáveis
   4. Como criar programas com opções - melhorado
   5. A diferença entre as crases (``) e o '$()'
   6. Curiosidades sobre a aritmética do bash
   7. Conclusão, referências e todo o resto
Outros artigos deste autor

Rodando vídeos .rmvb no Linux

Recursos avançados do bash que você não aprende na escola

Brincando com vetores

Brincando com vetores - complemento

Instalando um ambiente leve e funcional em computadores antigos

Leitura recomendada

Script "apagador de linhas"

Redundância de links - Mon + Shell Script

Brincando com vetores - complemento

gGedit como IDE para COBOL

Conectando-se à Internet via ADSL com PPPoE no OpenBSD

  
Comentários
[1] Comentário enviado por hugoeustaquio em 07/02/2008 - 18:03h

"Eu havia dito que expressões como ((1<2)) retornam verdadeiro para o shell. A questão é: porque isto acontece? "

Isso acontece porque 1 é menor que 2 ;)

Viva o bash!

[2] Comentário enviado por tenchi em 07/02/2008 - 20:00h

Ah hugoeustaquio, não é que você está certo? rsrs
Acabei dizendo tal bobagem para mostrar que algumas operações do bash se assemelham muito às de linguagens como C, onde 1 é verdadeiro e 0, falso. O problema é que muitas pessoas simplesmente desconhecem tais recursos.
Mas valeu pela correção ;-)

[3] Comentário enviado por chimico em 08/02/2008 - 09:53h

Muito bom, parabéns pelo artigo!

[4] Comentário enviado por k4mus em 08/02/2008 - 09:59h

Parabens amigo. A algum tempo q eu procurava algum material como este.

vlw

[5] Comentário enviado por everton3x em 08/02/2008 - 11:57h

Muito bom artigo, não tanto por mostrar como fazer "algumas coisinhas" com Shell Script, mas principalmente por mostrar aos pagãos o quão poderoso é o bash.
Parabéns!

[6] Comentário enviado por juliaojunior em 08/02/2008 - 18:26h

muito bom. Direto para favoritos. :>

[7] Comentário enviado por Teixeira em 09/02/2008 - 22:15h

Gostei muito do artigo.
Eu mesmo tinha outra idéia do assunto, pois achava que a coisa seria muito complicada.
O amigo veio provar o contrário.
Pode ser complexo no início, e exige grande disciplina, mas certamente complicado não é.
( Normalmente é a verbose que assusta um pouco )
Parabéns !

[8] Comentário enviado por elgio em 22/02/2008 - 15:24h

Sobre a arimetica um cuidado deve ser tomado ao escrever os numeros:

$ echo $(( 9 < 011 ))
0


Ué? 9 é menor que 11, então porque a expressão deu FALSO? (valor 0)

Porque números precedidos com ZERO são interpretados como octal pelo BASH e 011 octal = 9 em decimal:

$ echo $(( 9 == 011 ))
1

[9] Comentário enviado por elgio em 22/02/2008 - 15:30h

A propósito: legal este teu artigo.
Cheio de manhas.

[10] Comentário enviado por removido em 28/04/2014 - 18:17h

Didática muito boa, favoritado!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts