Leia que, para comparar cadeias internas if
, precisamos usar colchetes duplos. Alguns livros dizem que a comparação pode ser feita por =
. Mas funciona com o ==
também.
#!/bin/bash
a="hello"
b="world"
if [[ $a == $b ]];then
echo "equal"
fi
Existe uma diferença entre =
e ==
na comparação?
==
, e é por isso que você deve usar =
(igualdade) com [
e ==
(correspondência de padrão, com semântica que cita) com [[
. Veja help test
vs help [[
.
[ foo == foo ] && echo foo
certamente imprime foo
, indicando que ==
funciona com [
. No entanto, se por "é para" você quer dizer "foi planejado para ser usado com", então eu tenho uma objeção menor.
[[
em primeiro lugar o que possui uma compreensão significativamente mais sutil de tokenização, divisão de palavras, etc.
=
é para[
.==
é para[[
.