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: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] arrays em bash
Date: Thu, 25 Oct 2007 17:33:41 -0200

veja bem...

$ vetor=( a bb ccc )
$ echo ${#vetor}
1

fazer ${#vetor} é o mesmo que
$ echo ${#vetor[0]}
1
para ter o numero de elementos de um array vc deveria proceder assim
$ echo ${#vetor[@]}
3

O que vc quer fazer seria algo como

$ echo ${vetor[${#vetor[@]}-1]}
ccc
$ echo ${vetor[${#vetor[@]}-2]}
bb

[]´s Tiago



On 10/25/07, Eduardo Jaime Quiros Batres <address@hidden> wrote:
>
> 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 <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)
> 
>



-- 
Tiago B Peczenyj
Linux User #405772

http://peczenyj.blogspot.com/


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



reply via email to

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