[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 12:30:55 -0200 |
User-agent: |
KMail/1.9.6 (enterprise 0.20070907.709405) |
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]