shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: RES: [shell-script] O que é "Shell Script"?


From: Aurelio Marinho Jargas
Subject: Re: RES: [shell-script] O que é "Shell Script"?
Date: Tue, 22 Mar 2005 11:04:26 -0300 (ART)

pessoal,

li toda essa discussão antiga e vi que o assunto ressurgiu
na lista dias atrás ("./~ peinsava em vócêe... ./~ ). vou
dar meu pitaco sobre o assunto para tentar esclarecer o
porque das regras serem meio enfumaçadas.

eu concordo que as regras da lista não são claras quanto
a o que é shell script, mas acho que isso não é um
problema da lista e sim uma característica do próprio
shell.

programar em shell é brincar de LEGO. é juntar todo tipo
de ferramenta disponível no sistema para fazer um script.
e *qualquer* programa do sistema serve.

como temos vários sistemas diferentes, constuma-se
considerar shell script o uso dos comandos built-ins do
próprio shell e *algumas* ferramentas comumente
encontradas na maioria dos sistemas, como cut, find, grep.
mas isso por questões de compatibilidade apenas, e não
porque o "grep" é mais shell que o "perl". nenhum deles
é shell. shell é bash, ksh, etc.

se formos puristas, um script shell deveria usar apenas
os built-ins do shell e mais nada.

se formos liberais, comandos em python, perl, tcl, awk,
sed, e qualquer outra linguagem interpretada serão
considerados shell também. além de todo e qualquer 
programa obscuro executável do seu sistema.

a nossa lista aqui usa um denominador comum, que não
está escrito explicitamente, mas segue um senso geral,
o coletivo inconsciente, que abrange:

- comandos built-in (internos) do shell
  (cd, read, for, case, ...)

- ferramentas encontradas em vários sistemas *NIX
  (grep, find, cut, tr, ...)

- mini-linguagens encontradas em vários sistemas e
  relativamente limitadas e simples
  (sed, awk, expect)

ou seja, o shell e sua "região metropolitana" mais 
próxima, de fácil acesso. algo que é preciso um
empenho extra para aprender, mas nada complicadíssimo
ou que leve muito tempo.

já perl, python, C e outras linguagens de programação
genéricas envolvem um conhecimento prévio de sua
sintaxe e funcionamento, e na grande maioria dos casos
seu uso independe do shell, as soluções podem ser 100%
python por exemplo.

apesar de sed, awk e perl parecerem tudo a mesma coisa, há
um abismo para pular do sed até o perl. como estamos aqui
para discutir o shell e seus detalhes, acho que fica
compreensível que soluções que usem perl/python ou outra
linguagem de programação não se encaixam.

falou!




 --- Gentil de Bortoli Júnior <address@hidden> escreveu: 
> 
> Júlio, deixe-me explicar melhor.
> 
> Antes de mais nada, quero dizer que em momento algum tive a intenção
> de insinuar que soluções desenvolvidas em Perl devem ser aceitas
> nessa lista.
> 
> A bem da verdade, isso está muito longe do real objetivo do meu
> primeiro
> e-mail, que é entender o que de fato caracteriza um Shell Script.
> 
> No apêndice, você diz que relutou quanto à inclusão do AWK em seu
> livro,
> justamente por esse (o AWK) tratar-se de uma linguagem.
> 
> Em seguida, uma vez que o AWK é muito utilizado, possui uma boa
> integração e
> interação com o Shell, além de algumas vezes ser a melhor ferramenta
> para
> resolver determinados problemas (o que não é merito somente dele),
> justificou essa inclusão.
> 
> Nesse ponto reside o início de mais uma dúvida.
> Porque o AWK estaria mais integrado ao Shell do que o Perl, por
> exemplo?
> Entenda que estou usando o Perl apenas como objeto de apoio à minha
> dúvida.
> Esse objeto poderia ser outra linguagem qualquer com tais
> características.
> 
> Quanto ao sed, eu não o citei inicialmente porque, em minha opinião,
> ele não
> pode ser considerado como uma linguagem. Encaro o sed como outro
> "simples"
> comando qualquer. Claro que com um poder do fogo muito acima da média
> mas, ainda assim, não merecedor de um título de "linguagem".
> 
> Sobre nossa lista, concordo que é excelente e, assim como você, não
> participo de outra comunidade tão boa. Mas lembro, mais uma vez, que
> o _foco_
> do
> meu e-mail não é mudar o que esta lista é. Mas sim entender melhor o
> assunto
> sobre o qual ela trata.
> 
> []s
> Gentil.
> 
> Citando Julio Cezar Neves - DATAPREVRJ
> <address@hidden>:
> 
> > 
> > Gentil,
> > antes de começar a participar da lista, já havia escrito um livro
> sobre
> > programação em shell e nele existe um apêndice sobre o awk.
> Copiarei abaixo
> > o primeiro parágrafo deste anexo para vc entender o que penso:
> > 
> > "<titulo>
> > Apêndice 1
> > awk
> > Comando ou Linguagem?
> > </titulo>
> > Vocês decidirão ao longo deste apêndice se o awk é um comando ou
> uma
> > linguagem de programação. Alguns o chamam de instrução, talvez
> devido à sua
> > total integração ao Shell, eu não tenho dúvidas em qualificá-lo
> como uma
> > linguagem, e por isso mesmo relutei um pouco antes de incluí-lo em
> um livro
> > sobre programação Shell, porém, por ser muito utilizado, pela sua
> integração
> > e interação com o Shell e por ser, por vezes, a melhor ferramenta
> para
> > resolver determinados problemas, resolvi, devido à sua complexidade
> e
> > recursos, dedicar este apêndice inteirinho a ele. Poderíamos dizer
> que este
> > é "o algo mais que o Shell lhe dá"."
> > 
> > Como vc vê, está totalmente coerente com o "espírito da lista" que
> não foi
> > criada por mim e sim pelo Eriberto, do qual sinto saudades do seu
> tempo de
> > moderador.
> > 
> > Qto ao mais Gentil, ainda hoje um colega nosso fez um elogio à
> nossa lista.
> > Eu pessoalmente nunca participei de uma lista tão boa qto a nossa.
> Acho que
> > se abrirmos o escopo, vira bagunça, depois do perl viria o python,
> depois o
> > C, até chegarmos ao fundo do poço :(VB;).
> > 
> > Só gostaria de lembrar-lhe que além do awk, falamos muito em sed,
> que tb
> > considero uma linguagem.
> > 
> > [ ]s,
> > Julio
> > :wq
> 
> ----------------------------------------------------------------
> Mensagem Enviada utilizando o Onda Mail.
> http://www.onda.com.br
> Onda Provedor de Servicos S/A
> 
> 
> 
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação,
> como perl, C etc. Quem insistir em não seguir esta regra será
> moderado sem prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>  
> Links do Yahoo! Grupos
> 
> 
> 
> 
>  
> 
> 
> 
>  

-- 
Aurelio Marinho Jargas, Curitiba, Conectiva
http://aurelio.net

__________________________________________________
Converse com seus amigos em tempo real com o Yahoo! Messenger 
http://br.download.yahoo.com/messenger/ 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]