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

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

Re: [shell-script] arrays em bash


From: Leandro Santiago da Silva
Subject: Re: [shell-script] arrays em bash
Date: Thu, 25 Oct 2007 18:16:15 -0300
User-agent: Thunderbird 2.0.0.6 (X11/20070728)

$ Array=(elem1 elem2 elem3 elem4 elem5)
$ echo ${Array[ (( ${#Array[@]} - 1 )) ]}
elem5

Perceba que o índice é o resultado de uma operação aritmética.

Se quiser saber mais sobre vetores, leia este artigo. Não é muito 
completo mas é bom neste caso.
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=5998
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=6107

Eduardo Jaime Quiros Batres escreveu:
>
> Pessoal,
>
> estou tentando usar arrays em bash e estou tendo alguns problemas, 
> vejam este
> array de 3 elementos:
>
> $ vetor=( indice0 indice1 indice2 )
> $ echo $vetor
> indice0
> $ echo ${vetor[*]}
> indice0 indice1 indice2
> $ echo ${vetor[@]}
> indice0 indice1 indice2
> $ echo ${vetor[0]}
> indice0
> $ echo ${vetor[1]}
> indice1
> $ echo ${vetor[2]}
> indice2
> $ echo ${vetor[3]}
> - esta linha imprimiu em branco o que eh correto -
>
> agora o problema:
> $ echo ${vetor[${#vetor}-1]}
> - erradamente esta linha eh impressa em branco -
> $ echo ${#vetor}
> 7
>
> o primeiro comando deveria me devolver o último elemento do array
> ${#vetor} deveria devolver 3, já fiz vários testes e as vezes o índice
> devolvido é menor no lugar de maior.
>
> alguém conhece algum bug neste sentido? minha versão de bash:
>
> GNU bash, version 3.1.17(2)-release (i586-mandriva-linux-gnu)
> Copyright (C) 2005 Free Software Foundation, Inc.
>
> -- 
> Eduardo Jaime Quiros Batres (address@hidden <mailto:dojai%40ufv.br>)
> --
> "Parte da ausencia de humanidade do computador deve-se a que,
> competentemente programado e trabalhado bem, eh completamente
> honesto."
> Isaac Asimov (1920-1992)
>
>
>  



[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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