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

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

Re: [shell-script] Exportar variável de dentro de uma função globalmente


From: Julio C. Neves
Subject: Re: [shell-script] Exportar variável de dentro de uma função globalmente
Date: Fri, 24 Sep 2010 14:37:49 -0300

Fala Wagner,
se vc declarar uma variável antes de declarar a função e dentro desta função
alterar seu valor, o corpo do prg verá este valor alterado.

No entanto se vc está querendo passar valores de variáveis locais para o
prg, aí é um pouco diferente.

No fragmento abaixo tenho 3 variáveis locais: v1, v2 e v3. V1 e v2 serão
mandadas para a tela e v3 será mandada para var, que é uma variável do prg.
Veja:

function Funcao
{
    local v1 v2 v3
    ...
    echo $v1 > /dev/tty
    ...
    echo $v2 > /dev/tty
    ...
    echo $3
}
# corpo do prg.
var=$(Funcao)

De forma mais reduzida, tb poderíamos fazer:

function Funcao
{
    local v1 v2 v3
    ...
    {
        echo $v1
        ...
        echo $v2
        ...
    } > /dev/tty
    echo $3
}
# corpo do prg.
var=$(Funcao)

Era isso?

Abc,
Julio

Em 24 de setembro de 2010 10:03, Wagner Brasileiro <
address@hidden> escreveu:

>
>
> Bom dia senhores,
>
> estou tendo problemas com o seguinte xcript: http://pastebin.com/mTYuzM3g
>
> Estou tentando criar uma flag que seja visível em qualquer instância do
> Bash, em
> qualquer terminal a qualquer hora e acho que estou fazendo algo muito
> errado,
> pois se quer consigo visualizar as variáveis fora das funções, sei que é
> bem
> provável que meu erro seja justamente aí, sei que é possível exportar
> variáveis
> mas de dentro de uma função não sei se isso é possível de baixo para cima,
> já li
> algo sobre ser impossível alterar valores de variáveis exportadas em outras
>
> instâncias. Seria uma grande limitação, mas creio que com certeza alguém
> aqui
> deve ter alguma saída para esse problema, sei que o Bash é muito poderoso
> para
> ficar preso em algo tão simples. Li algo no livro do Julio sobre importar
> dados
> de um subshell, talvez seja isso que estou precisando, mas não entendi
> muito bem
> o exemplo. Agradeço por qualquer ajuda. Desde já saliento que com certeza
> estou
> fazendo algo errado ao exportar de dentro da função, não sei o que, mas me
> parece errado em vista as outras linguagens, e é claro, também não
> funciona!
> rs.. Já li sobre mas não achei o exemplo que eu quero ainda de uma função
> retornando um valor global.
>
> Obrigado,
>
> Wagner Brasileiro
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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



reply via email to

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