Se você precisa usar a variável fora da função, tens que exportá-la.
export temp
2008/5/7 Édnei Rodrigues <[EMAIL PROTECTED]>:
> Bom dia. Estou lidando com um problema xarope. olhem esse código:
>
> ...
>
> compila_projeto(){
> svn list $servidor_svn/tags/ | while read linha; #onde linha recebe a
> listagem do repositorio nesse diretorio
> do
> temp=`echo $linha | sed 's/^.*_//'` # formato da variável $linha = SIP_1.0
> echo $temp # imprime 1.0
>
> done
>
> echo " valor de temporario ${temp}"
>
> Ao imprimir o $temp, ele nao imprime nada ( ou seja, um espaço em
> branco ouuu o que for declarado antes do While) . No entanto, se eu
> imprimir dentro, ele imprime o resultado do sed.
> Tentei declarar a variavel antes, mas mesmo assim o valor é perdido.
>
> Alguém tem idéia do porquê disso??
> A solução já encontrei :
>
> - passo o valor para um arquivo temporário:
> echo $temp > /tmp/temp$$ #( dentro do while)
>
> - Depois recupero com o cat:
>
> temp=`cat /tmp/temp$$`
> echo " valor de temporario ${temp}"
>
> Assim , ele funciona....
>
> mas pq isso?
>
> Obrigado a todos
>
>
[As partes desta mensagem que não continham texto foram removidas]