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 testvs help [[.
[ foo == foo ] && echo foocertamente 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[[.