Lea que para comparar cadenas en el interior if
necesitamos usar corchetes dobles. Algunos libros dicen que la comparación se puede hacer por =
. Pero también funciona con el ==
.
#!/bin/bash
a="hello"
b="world"
if [[ $a == $b ]];then
echo "equal"
fi
¿Hay alguna diferencia entre =
y ==
en la comparación?
==
, por lo que debería usar =
(igualdad) con [
, y ==
(coincidencia de patrones, con semántica que son comillas) [[
. Ver help test
vs help [[
.
[ foo == foo ] && echo foo
ciertamente se imprime foo
, lo que indica que ==
funciona con [
. Sin embargo, si por "es para" quieres decir "estaba destinado a ser usado con", entonces tengo una menor objeción.
[[
en primer lugar que tiene una comprensión mucho más matizada de tokenización, la división de palabras, etc ...
=
es para[
.==
es para[[
.