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

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

Re: [shell-script] Exportar array


From: Paulo Bettega
Subject: Re: [shell-script] Exportar array
Date: Thu, 28 May 2015 01:20:04 -0300
User-agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.7.0

Olá Robson, não tenho certeza mas acho que não dá pra exportar direto um array.
Interessante que no ksh pelo menos o primeiro valor é reconhecido,
tanto 'echo ${usuario[0]}' quanto 'echo $usuario' retornam o primeiro valor,
mas no bash não retorna nada.

Achei esse post no Stackoverflow que parece ter uma solução, se entendi direito 
:)
http://stackoverflow.com/questions/5564418/exporting-an-array-in-bash-script

$ cat script1
#!/bin/bash

export usuario=($(who -m))
echo ${usuario[0]} ${usuario[1]}

export var_temp=$(declare -p usuario)

./script2

$ cat script2
#!/bin/bash

eval $var_temp
echo ${usuario[0]} ${usuario[1]}

$ ./script1
paulo pts/0
paulo pts/0



$ cat script1-original
#!/bin/bash

export usuario=($(who -m))
echo ${usuario[0]} ${usuario[1]}

./script2

$ cat script2-original
#!/bin/bash

echo ${usuario[0]} ${usuario[1]}

$ ./script1-original
paulo pts/0


Abraços Paulo Bettega

On 27-05-2015 15:41, Robson Alexandre address@hidden [shell-script] wrote:
Boa tarde prezados,

gostaria de aproveitar variáveis definidas no script principal em scripts 
secundários, chamados por
este principal, mas tenho problemas com os arrays definidos. p.e.:
==Conteúdo de script1
export usuario=$( (who -m) )
echo ${usuario[0]}
./script2

==Conteúdo de script2
echo ${usuario[0]}

script1 imprime:
$ robson
script2 imprime:
$


tentei fazer uma funcao chamando através do source sem sucesso
==Conteudo de funcoes
function getVariaveis(){
export usuario=( $(who -m) )
}
export -f getVariaveis

para chamá-lo no script secundário
$ . ./funcoes
$ getVariaveis
$ echo ${usuario[0]}

Alguém poderia dar uma dica de como resolvem situação semelhante?




Atenciosamente
Robson Alexandre


----------------------------------------------------------------------------------------------------
Enviado por: Robson Alexandre <address@hidden>
----------------------------------------------------------------------------------------------------


reply via email to

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