Comparar tamaños de cadenas y enteros con un script bash

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.

 

Agregar comentario