Estou escrevendo um script que exibe opções de entrada em um loop while fornecido por uma função user_input()
e define valores dependendo da entrada do usuário, então chamo outra função user_info()
. Se um usuário cometeu um erro, estou tentando oferecer a ele que volte para corrigir sua entrada. Portanto, se um usuário definir $var
por engano como "Sim", ele poderá voltar e redefinir a opção! Supondo que o usuário tenha sido redefinido $var
como "Não", existe alguma maneira de não retomar em code (2)
, em vez de pular para a elif
instrução e executar code (3)
? Se a pergunta não estiver clara, posso postar meu código para torná-lo mais claro. Muito obrigado:
user_input(){
while true; do
input option $var
done
user_info
}
user_info(){
some code
if [ "${var}" = "Yes" ]; then
code (1)
if [ "${option}" = "back" ]; then
user_input
fi
code (2)
elif [ "${var}" = "No" ]; then
code (3)
fi
}
Responder1
Acho que encontrei uma solução adicionando return após cada chamada da user_input()
função como esta, corrija-me se cometi um erro. Muito obrigado:
user_input(){
while true; do
input option $var
done
user_info
}
user_info(){
some code
if [ "${var}" = "Yes" ]; then
code (1)
if [ "${option}" = "back" ]; then
user_input
return
fi
code (2)
elif [ "${var}" = "No" ]; then
code (3)
fi
}