Eu tenho uma função bash chamada numeric
que retorna 1
ou 0
.
numeric ()
{
# compute k either 1 or 0
echo "$k"
}
Como posso usar esta função em uma instrução condicional para verificar se uma variável var
é numérica?
Responder1
Lembre-se de que no contexto de expressões condicionais do shell, um valor de retorno 0
significa "sucesso" ou "verdadeiro" e um valor diferente de zero significa "falha" ou "falso", então eu recomendaria adaptar a função para que ela retorne 0
se o argumento é um valor numérico.
Supondo que a "declaração condicional" seja uma if
construção, o seguinte funcionará:
if numeric "$var"
then
# Code if $var is numeric
else
echo "$var is not numeric"
fi
Responder2
usar retorno
numeric ()
{
# compute k either 1 or 0 || return 1
echo "$k"
return 0
}
numeric || exit 1