Tengo una función bash llamada numeric
que devuelve 1
o 0
.
numeric ()
{
# compute k either 1 or 0
echo "$k"
}
¿Cómo puedo usar esta función en una declaración condicional para verificar si una variable var
es numérica?
Respuesta1
Recuerde que en el contexto de las expresiones condicionales del shell, un valor de retorno de 0
significa "éxito" o "verdadero", y un valor distinto de cero significa "fracaso" o "falso", por lo que recomendaría adaptar la función para que devuelva 0
si el argumento es un valor numérico.
Suponiendo que la "declaración condicional" es una if
construcción, lo siguiente funcionará:
if numeric "$var"
then
# Code if $var is numeric
else
echo "$var is not numeric"
fi
Respuesta2
usar retorno
numeric ()
{
# compute k either 1 or 0 || return 1
echo "$k"
return 0
}
numeric || exit 1