Condiciones en Bash Script
Booleanos en Bash {#booleanos-en-bash}
En Bash no existen valores booleanos nativos, pero sí existen comandos que devuelven verdadero o falso:
true # Devuelve 0 (verdadero)
false # Devuelve 1 (falso)
En Bash, un **0 significa verdadero** y un **número distinto de 0 (generalmente 1)** significa falso.---
Operadores Condicionales {#operadores-condicionales}
Los operadores se usan para comparar números o cadenas de texto.
Para números {#para-números}
Para cadenas de texto {#para-cadenas-de-texto}
Estructura if - elif - else {#estructura-if---elif---else}
Ejemplo de uso básico:
if [ 3 -gt 4 ]; then
echo "Mayor que 4"
elif false; then
echo "Nunca pasar"
else
echo "4 o menor"
fi
**Notas:**---
- Los corchetes [ ] son equivalentes al comando test.
- Siempre debe haber un espacio después del [ y antes del ].
- La instrucción then debe ir en la misma línea o en una nueva, separada con ;.
Condiciones compuestas (&&, ||) {#condiciones-compuestas}
Puedes combinar condiciones con operadores lógicos.
if [ 10 -lt 14 ] && [ 10 -gt 12 ]; then
echo "verdadero"
fi
También puedes usar [[ … ]] para condiciones más seguras (recomendado):
if [[ 10 -lt 14 && 10 -gt 12 ]]; then
echo "verdadero"
fi
[[ ... ]] permite el uso de operadores lógicos && y || dentro del mismo bloque sin necesidad de múltiples [ ].---
Formas de escribir condiciones {#formas-de-escribir-condiciones}
Las tres siguientes formas son equivalentes:
test condition
[ condition ]
[[ condition || condition ]]
Ejemplo real:
if test 10 -eq 10; then
echo "10 es igual a 10"
fi