[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Guardar variavel entre chamada de funções
From: |
Fabiano Caixeta Duarte |
Subject: |
Re: [shell-script] Guardar variavel entre chamada de funções |
Date: |
Thu, 08 Nov 2007 15:31:26 -0200 |
User-agent: |
Thunderbird 2.0.0.0 (X11/20070326) |
Simples! Você está chamando um script que será rodado em um subshell.
O export atua no shell corrente (no caso seu subshell) e em seus filhos.
Uma vez que a execução de teste.sh termina, o subshell morre e com ele
todas as variáveis.
Por isto o shell que está executando seu script.sh não conhece o valor
de $ola.
Use o que seria o include de outras linguagens. Chama-se source.
source teste.sh
Note que teste.sh nem precisa ter permissões de execução.
Atenciosamente,
--
Fabiano Caixeta Duarte
Especialista em Redes de Computadores
Linux User #195299
Ribeirão Preto - SP
miguelcm86 escreveu:
> Olá pessoal
>
> É o seguinte, não estou a conseguir guardar uma variavel ao sair de
> uma função.. exemplo
>
> script.sh
>
> echo "este script chama o teste.sh"
> ./teste.sh
> echo "variável tem o valor de $olá"
>
> exit 0
>
>
>
> teste.sh
>
> export olá=23
>
> exit 0
>
>
>
> isso aí em cima é um exemplo o programa na realidade é muito mais
> complexo.
>
> não percebo porquê não funciona, tb já tentei por o export dentro de
> teste.sh e alocar antes de chamar a função, mas sempre que retoma a
> teste.sh perde o valor.