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

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

Re: [shell-script] Função Recursiva (Gerar discussão)


From: Salviano de Araujo Leão
Subject: Re: [shell-script] Função Recursiva (Gerar discussão)
Date: Thu, 25 Oct 2007 15:40:09 -0200
User-agent: KMail/1.9.6 (enterprise 0.20070907.709405)

A Thursday 25 October 2007 13:24:41, Tiago Barcellos Peczenyj escreveu:

Olá Tiago

Certamente deve-se ter cuidado ao programar com funções recursivas, 
entretanto acho que o exemplo escolhido mostra um bom uso dela. 
Acho que seria mais difícil fazer isto sem a recursividade. 

A não ser por este  detalhe, que  outras restrições você teria?

Quais seriam os prós e contras?

Abordei este tema por ter encontrado pouca 
documentação a respeito. 

Talvez com a experiência dos usuários da lista,  
eu e todos que se interessarem pelo tema possamos 
ter uma boa idéia a respeito da  recursividade no shell.



> Pessoalmente eu prefiro deixar a recursividade para os programar e
> ter, no shell algo mais linear (como quando usamos pipes).
>
> Porem pode ser um recurso util.
>
> On 10/25/07, Salviano de Araujo Leão <address@hidden> wrote:
> > A Thursday 25 October 2007 11:49:17, RAUL LONGHI escreveu:
> >
> > Olá Raul
> >
> > Valeu, mas o script foi usado como exemplo, e neste
> > exemplo ele separa diretorios de arquivos regulares.
> >
> > Os diretorios recebem um tipo de permissão e os
> > arquivos regulares outra.
> >
> > A idéia e ver discutir um pouco as funções recursivas.
> >
> > Vejamos por exemplo,
> >
> > porque não manter $1?
> >
> > Ao ser chamada pela segunda vez esta variável
> > não tem valor, porque abre uma nova instância
> > do shell, na qual esta variável não possui um valor.
> >
> > Uma  variável local faz diferença?
> >
> > Bom o que eu tinha em mente era discutir
> > um pouco funções recursivas na lista, porque
> > é mais rara sua documentação e exemplos de
> > implementação.
> >
> > > buenas,
> > >
> > > uma outra maneira seria vc utilizar a opção '-R' para recursividade.
> > >
> > > Ex. chmod 0765 local -R
> > >
> > > Saudações livres.
> > >
> > > Raul
> > >
> > > On 10/25/07, Salviano de Araujo Leão <address@hidden> wrote:
> > > >    Olá a todos
> > > >
> > > > Criei a função recursiva abaixo para mudar a
> > > > permissão de arquivos, no diretorio local e em todos
> > > > os abaixo.
> > > >
> > > > Colocada no .bashrc ela funciona corretamente e
> > > > posso chama-lá em qualquer instância do shell.
> > > >
> > > > Entretanto se crio um script, devo carregá-lo
> > > > inicialmente para usar a função.
> > > >
> > > > Permisao(){
> > > > local x CMD MOD
> > > > cd $PWD
> > > > MOD="$1"
> > > > for x in `'ls'`
> > > > do
> > > > if [ -f $x ]; then
> > > > chmod -c $MOD $x
> > > > elif [ -d $x ]; then
> > > > echo "Mudando a Permisao do diretorio $x"
> > > > chmod -c 0755 $x
> > > > cd $x
> > > > echo "Entrou no diretorio: $PWD"
> > > > Permisao $MOD
> > > > cd ..
> > > > fi
> > > > done
> > > > return
> > > > }
> > > >
> > > > Estou enviandoo script para gerar alguns cometários
> > > > a respeito de funções recursivas no shell.
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]




reply via email to

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