Cara, eu quando possivel evito usar variaveis em bash.

Acho que existem formas mais interessantes e rápidas.

Por exemplo, se vc tem que gravar o nome de todos os arquivos com
extenção .lis do diretorio /tmp vc pode fazer algo assim

ls /tmp/*.lis > lis.txt

Fiz um exemplo aqui em casa:
$ cat lis.txt
/tmp/aaa.lis
/tmp/bbb.lis
/tmp/ccc.lis

Bom, suponha que chegou um novo arquivo, um eee.lis vc pode fazer um diff

$ diff lis.txt <(ls /tmp/*.lis)
3a4
> /tmp/eee.lis

Ou algo assim
$ grep -v -f lis.txt <(ls /tmp/*.lis)
/tmp/eee.lis

para atualizar a lista basta usar o operador >>

$ grep -v -f lis.txt <(ls /tmp/*.lis) >> lis.txt

Agora se vc insiste mesmo em usar ARRAYS veja o exemplo:

criamos o array
$ ARRAY=( $(ls /tmp/*.lis) )

mostramos todos os elementos
$ echo [EMAIL PROTECTED]
/tmp/aaa.lis /tmp/bbb.lis /tmp/ccc.lis /tmp/eee.lis

mostramos o numero de elementos
$ echo [EMAIL PROTECTED]
4

guardamos o numero na variavel MAX
$ [EMAIL PROTECTED]

acrescentamos 1 no valor de MAX
$ let MAX++

informamos um novo elemento no array
$ ARRAY[$MAX]=/tmp/outracoisa.lis

agora apresentamos todos os novos
$ echo [EMAIL PROTECTED]
/tmp/aaa.lis /tmp/bbb.lis /tmp/ccc.lis /tmp/eee.lis /tmp/outracoisa.lis


Eu acho muito melhor usar arquivos, mas vc pode usar arrays

Comptos

Tiago
On 3/30/06, Rui Dias <[EMAIL PROTECTED]> wrote:
>  Viva!
>
>  Sou novo no grupo, estou a precisar de ajuda pois precisava de criar
>  um script que me lista-se todos os ficheiros de uma directoria e os
>  pude-se percorrer sempre que necessário!
>
>  Por exemplo: pretendia ler os ficheiros de extensão .lis, da
>  directoria /tmp/ e guardar todos os nomes numa variavel (por exemplo
>  um array) de modo que sempre que cheguem mais ficheiros à directoria
>  não seja necessário alterar o codigo para percorrer os ficheiros.
>
>  Sei que isto é facil, mas não estou a conseguir, se alguem me poder
>  dar uma ajuda agradecia muito.
>
>  Muito Obrigado.
>
>  Rui Dias
>
>
>
>
>
> ---------------------------------------------------------------------
>  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: [EMAIL PROTECTED]
> ---------------------------------------------------------------------
>  Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>  Servidor Newsgroup da lista: news.gmane.org
>  Grupo: gmane.org.user-groups.programming.shell.brazil
>
>
>
>
>  ________________________________
>  Links do Yahoo! Grupos
>
>
> Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/shell-script/
>
> Para sair deste grupo, envie um e-mail para:
> [EMAIL PROTECTED]
>
> O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
> Yahoo!.


--
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


---------------------------------------------------------------------
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: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a