[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]