Dúvida em funções [RESOLVIDO]

1. Dúvida em funções [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/10/2013 - 15:13h

Pessoal,

Estou tentando fazer uma função que recebe um parâmetro e depois eu pego o retorno desta função em variavel, porém, não está funcionando.

a funcão esta assim:

getcsn (){

return ${var}

}


var2=`getcsn $parameter`




Como faço para pegar o resultado da funcção nesta variavel var2?


Obrigado



  


2. Re: Dúvida em funções [RESOLVIDO]

César Augusto
4k1r4

(usa Ubuntu)

Enviado em 11/10/2013 - 16:48h

nao manjo muito de shell script mas normalmente trabalho dessa forma, faz sentido?

metodo($parametro){
retorna $parametro
}

variavel = metodo($parametro)




3. Re: Dúvida em funções [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/10/2013 - 16:56h

Ola amigo
Tentei desta forma e nao funcionou


4. Re: Dúvida em funções [RESOLVIDO]

Fernando
phoemur

(usa Debian)

Enviado em 11/10/2013 - 17:30h

Você não consegue porque essa estrutura da função retornar valores, muito comum em C, não funciona em shellscript...

Uma função em bash conseguiria fazer isso com algo assim:

getcsn (){
echo $1
}
var2=`getcsn $parameter`


O comando return não serve para passar valores, ele serve para retornar o exit status, se executou com sucesso(geralmente número 0) ou com erro (outros valores)


5. Re: Dúvida em funções [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/10/2013 - 17:42h

amigo,

tentei desta forma tambem, porem, ele me retorno o valor que eu passei como parametro..

dentro da funcao eu faco um calculo, e coloco para retornar a variavel desse calculo..

porem, sempre me retorna o valor que passo como parametro para a variavel que recebe o retorno da funcao


6. Re: Dúvida em funções [RESOLVIDO]

Fernando
phoemur

(usa Debian)

Enviado em 11/10/2013 - 17:56h

Amigo, o que eu postei foi em linhas gerais, acho que deu pra entender não?

Se quiser ajuda com seu script poste aqui, mas não precisa fugir do que eu te passei, retorne o valor com echo...


getcsn (){
#Atribua a variável local com o primeiro valor passado:
local var1="$1"
#Faça o cálculo, por exemplo, acrescentando 1 unidade:
let var1++
#Retorne o valor:
echo $var1
}
var2=`getcsn $parameter`



7. Re: Dúvida em funções [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 15/10/2013 - 07:47h

funcionou meu amigo, muito obrigado!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts