Cadenas y numeros
Posted by smcicoss on 24 Oct 2016 in La shell BASH
Bash es un tanto peculiar al hacer comparaciones entre cadenas y entre numeros y cuesta acostumbrarse a su sintaxis. Los espacios que hay que dejar deapues abrir corchete y antes de cerrarlo. Tambien es peculiar en las formas de tratar los numeros: son cadenas hasta que se opera con ellos.
#! /bin/bash
numero_valido='^-?[0-9]+([.][0-9]+)?$'
if [[ $1 = $2 ]]; then
echo "'$1' es igual a '$2'"
else
echo "'$1' es diferente de '$2'"
fi
if [[ $1 == $2 ]]; then
echo "'$1' es igual a '$2'"
else
echo "'$1' es diferente de '$2'"
fi
if [[ $1 =~ $numero_valido ]] ; then
if [[ $1 -eq 0 ]]; then
echo "El primero vale cero y mutiplicado por $2 es "`expr $1 \* $2`
else
echo "El primero no vale cero y mutiplicado por $2 es "`expr $1 \* $2`
fi
else
echo "'$1' no es un número válido"
fi
numero=`expr $1 \* 1 2>/dev/null`
if [[ $1 == $numero ]]; then
echo "$1 es un numero"
else
echo "$1 no es un numero"
fi
This entry was posted by simo and filed under La shell BASH. Tags: Bash, Cadenas y numeros, Linux, Scripts, Shell.