Skip to content

Condiciones

No hay booleanos nativos: los comandos devuelven 0 = verdadero, distinto de 0 = falso (true / false).


ConceptoSignificado
-eq -ne -lt -le -gt -geComparar números.
= / ==Cadenas iguales (= en [ ]).
!=Cadenas distintas.
-z / -nVacía / no vacía.
< / >Orden lexicográfico (mejor en [[ ]]).
Terminal window
[ "$a" -gt 10 ]
[[ -z "$1" ]]
[[ "$user" == "root" ]]

[ ]test. Espacios obligatorios tras [ y antes de ]. Preferir [[ ]] (más seguro, &&/|| dentro).

Terminal window
if [ 3 -gt 4 ]; then
echo "Mayor que 4"
elif false; then
echo "Nunca"
else
echo "4 o menor"
fi
if [ 10 -lt 14 ] && [ 10 -gt 12 ]; then
echo "verdadero"
fi
if [[ 10 -lt 14 && 10 -gt 12 ]]; then
echo "verdadero"
fi

Formas equivalentes:

Terminal window
test condition
[ condition ]
[[ condition || condition ]]
if test 10 -eq 10; then
echo "10 es igual a 10"
fi

Docs: Bash Conditional Constructs.