Jorge,

Eu estou analisando agora a primeira função que vc fez e aqui, pra
mim, ela parece 'global' dentro do shell corrente.

$ _explode testezao ':' 'um:dois:tres'
$ echo ${#testezao[*]}
3

Logo eu não consigo entender que problema vc pode estar tendo A MENOS
QUE vc esteja querendo passar este array para um subshell PAI... ou
então...

$ mystr=":I:ride:bmx:"
$ _explode "bmx" ':' "${mystr}"
$ echo ${bmx[0]}
I
$ echo ${bmx[1]}
ride
$ echo ${bmx[2]}
bmx
$echo ${bmx[3]}

$echo ${bmx[4]}

Agora... analisando este exemplo, eu acho que vc queria q 'ride'
estiversse na posicao 2, estou certo?

veja só:

OLDIFS=$IFS
IFS=':'
set - ${mystr}
echo "1 $1 2 $2 3 $3 4 $4"
IFS=$OLDIFS

1  2 I 3 ride 4 bmx

ou seja

OLDIFS=$IFS
IFS=':'
A=(${mystr})
echo "0 ${A[0]} 1 ${A[1]} 2 ${A[2]} 3 ${A[3]} 4 ${A[4]}"
IFS=$OLDIFS
0  1 I 2 ride 3 bmx 4

Logo para a sua função funcionar corretamente altera temporariamente a
variavel de ambiente IFS para o separador que vc deseja e use a forma
ARRAY=( conteudo ) que eh bem mais simples.

O que acha?

[]´s Tiago

On 7/26/06, Jorge Pereira <[EMAIL PROTECTED]> wrote:
> entendi tiago,
>
> mais da forma que eu havia feito, tem ideia como seria de dentro de um laço
> eu "setar" um valor, e recuperar fora dele? como se foce torna o valor
> dentro
> do laço em "global", fui claro? :D
>
> []s
>
> On 7/25/06, Tiago Barcellos Peczenyj <[EMAIL PROTECTED]> wrote:
> >
> > humm agora sim fica show de bola
> >
> > Versao 3) complicada e perfeitinha - agora vc informa o TOKEN
> >
> > manda_brasa(){
> > A=${3// /\\ }
> > eval "$1=(${A//${2}/ })"
> >
> > }
> > $ manda_brasa array ':' "historias que nossas:babas:nao:contavam"
> > $ echo ${array[0]}
> > historias que nossas
> > $ echo [EMAIL PROTECTED]
> > 4
> >
> > Versão 4) Definitiva
> > esta versão usaria ifs contando o numero de termos para, caso não seja
> > informado um separador, fosse usado um padrão, como ':' mas to com
> > preguiça e faze-lo.
> >
> >
> > On 7/25/06, Julio C. Neves <[EMAIL PROTECTED]> wrote:
> > > >
> > > > On 7/25/06, Jorge Pereira <[EMAIL PROTECTED]> wrote:
> > > > > Meu deus amigos do mundo bash!!! que confusão!!!!!!!!!!!!!!!!
> > --
> >
> > Tiago B Peczenyj
> > Linux User #405772
> >
> > # cd /pub
> > # more beer
> >
> >
>
>
>
> --
> Regards,
> +
> ---------------------------------------------------------------------------------+
> Jorge Pereira, From: Olinda/Pe/Brazil
> Home:  http://www.jorgepereira.com.br/
> E-mail:  [EMAIL PROTECTED], [EMAIL PROTECTED]
> Mobile: +55 (81) 8833-2484
> My Public Key: http://www.jorgepereira.com.br/public.pgp
> +
> ---------------------------------------------------------------------------------+
>     "Se você ama alguma coisa, liberte-a;
>    Se ela não voltar a ti, cace-a e mate-a."
> +----------------------------------------------------------------------------------+
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ---------------------------------------------------------------------
> 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
>
>
>
>
>
>
>
>


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