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