Logo de fravelz

Notas de Hacking

Fravelz

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