Aquí va otro truco útil para Shell Scripting:
[[ ... ]]
en lugar de [ ... ]
para comparaciones más potentes en BashCuando necesitas hacer comparaciones en un script, es mejor usar [[ ... ]]
en lugar de [ ... ]
, ya que es más seguro y flexible.
[ ... ]
(forma tradicional, menos potente)#!/bin/bash
read -p "Introduce un número: " num
if [ "$num" -gt 10 ]; then
echo "El número es mayor que 10"
fi
⚠️ Problemas:
Necesita -gt
en lugar de >
para números.
Puede fallar si num
está vacío.
[[ ... ]]
(mejor opción)#!/bin/bash
read -p "Introduce un número: " num
if [[ $num -gt 10 ]]; then
echo "El número es mayor que 10"
fi
✅ Ventajas de [[ ... ]]
:
Soporta operadores lógicos (&&
, ||
) sin necesidad de -a
o -o
.
Permite comparaciones de cadenas con >
y <
.
No es necesario poner comillas en variables.
cadena="Hola"
if [[ $cadena == "Hola" ]]; then
echo "Las cadenas son iguales"
fi
✅ Más legible y seguro que [ "$cadena" = "Hola" ]
.
🔥 Conclusión: Usa [[ ... ]]
para condiciones más seguras y limpias en Bash. 🚀