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

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

Re: [shell-script] Dúvida com return


From: Alfredo Casanova
Subject: Re: [shell-script] Dúvida com return
Date: Mon, 3 Mar 2014 20:18:08 -0300

Coloca um "echo $diretorio $usuario"  antes do if, só pra checar se as variáveis estão sendo atribuídas corretamente

Em 03/03/2014 20:05, "Willy Romão" <address@hidden> escreveu:
 

Senhores,

Estou com dúvida na utilização do return em certos casos, talvez vocês
poderiam me ajudar a entender:

Caso comum do uso do return:

funcao()
{
echo "Essa eh minha funcao"
return 1
echo "Esse echo nunca vai ser executado, pq o return ja vai
retornar o valor 0 para quem chamou a funcao"
}

A saída dessa função, será apenas o primeiro echo, e a variável $? vai
ter o valor 1 do retorno.

Até aí, entendido. O caso que eu estou tendo problema:

funcao()
{
usuario=$1

ls /home |
while read diretorio; do

if [[ ${diretorio} = ${usuario} ]]; then
echo "Existe o diretorio do usuario"
return 0
fi

done

echo "O diretorio desse usuario nao existe"
return 1
}

Nesse caso, quando a variavel ${diretorio} fosse igual a ${usuario},
deveria executar o comando (echo "Existe o diretorio do usuario") e
depois o return 0, saindo da funcao e retornando 0 para quem chamou. Mas
isso não acontece, o while continua e acaba chegando na mensagem de erro
e no retorno 1. Por que isso acontece?

*A função é uma analogia, o caso real é diferente.

Obrigado a todos,

Willy Romão


reply via email to

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