Comparar tamaños de cadenas y enteros con un script bash.
A modo educativo, hoy vamos a ver un script bash que nos compara el tamaño de dos cadenas de caracteres alfanuméricos, o valores de números enteros.
Como es el primer script de ese tipo, tampoco nos vamos a complicar mucho. Nosotros insertamos dos cadenas o valores enteros, y el script bash nos dirá si es mayor, menor, o son iguales.
Para lograr nuestro objetivo usamos tres operadores básicos:
- == / = : equivale a igual.
- != : equivale a diferente.
- < : equivale a menor.
- > : equivale a mayor.
Insisto que este script es solo a modo educacional, no es válido para producción. Pero aún siendo así, al introducir dos cadenas alfanuméricas con distinto número de caracteres te dirá cual es mayor o menor. Si solo insertas números enteros, el resultado será el valor real de mayor o menor cantidad.
Comparar tamaños de cadenas y números enteros
Creamos el script.
nano compara.sh
Copia y pega lo siguiente.
#!/bin/bash # Comparar valores y cadenas while true; do # Recopilar los valores VAR1 y VAR2 read -r -p "Introduce el primer valor: " VAR1 read -r -p "Ahora el valor a comparar: " VAR2 # Comprobar si $VAR1 es menor que $VAR2 if [[ "$VAR1" < "$VAR2" ]];then echo "$VAR1 es menor que $VAR2" # Comprobar si $VAR1 es mayor que $VAR2 elif [[ "$VAR1" > "$VAR2" ]];then echo "$VAR1 es mayor que $VAR2" # Comprobar si $VAR1 es igual que $VAR2 elif [[ "$VAR1" == "$VAR2" ]];then echo "$VAR1 es igual a $VAR2" # Comprobar si $VAR1 es diferente a $VAR2 elif [[ "$VAR1" != "$VAR2" ]];then echo "$VAR1 es diferente a $VAR2" else # Si se produce algun error echo "Los valores no pueden ser comparados" fi done
Guarda el archivo y cierra el editor.
Ahora le concedemos los permisos necesarios.
chmod u+x compara.sh
Lo ejecutas…
./compara.sh o bash compara.sh
Nosotros insertamos unos valores de ejemplo, los vemos:
sololinux sergio # bash compara.sh
Igual valor
Introduce el primer valor: 123456
Ahora el valor a comparar: 123456
123456 es igual a 123456
Menor valor
Introduce el primer valor: 123456
Ahora el valor a comparar: 123457
123456 es menor que 123457
Mayor valor
Introduce el primer valor: 123457
Ahora el valor a comparar: 123456
123457 es mayor que 123456
Menor tamaño
Introduce el primer valor: zxcvb
Ahora el valor a comparar: zxcvbnm
zxcvb es menor que zxcvbnm
Mayor tamaño
Introduce el primer valor: asdfghjkl
Ahora el valor a comparar: asdfgh
asdfghjkl es mayor que asdfgh
Recuerda que este script es tan solo a modo educativo, tan solo es una introducción a los operadores que se pueden utilizar en los scripts bash.
Canales de Telegram: Canal SoloLinux – Canal SoloWordpress
Espero que este articulo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.