Przeczytaj, że do porównywania napisów w środku ifmusimy użyć podwójnych nawiasów kwadratowych. Niektóre książki mówią, że porównania można dokonać =. Ale to też działa ==.
#!/bin/bash
a="hello"
b="world"
if [[ $a == $b ]];then
echo "equal"
fi
Czy jest jakaś różnica pomiędzy =i ==w porównaniu?
==, dlatego należy używać =(równość) z [i ==(dopasowywanie wzorców, które są ze semantyki cytując-aware) z [[. Zobacz help testvs help [[.
[ foo == foo ] && echo foopewno drukuje foo, wskazując, że ==działa z [. Jednakże, jeśli przez „jest dla” masz na myśli, że ”miał być używany z„, to mam mniejszy sprzeciw.
[[w pierwszej kolejności, która ma znacznie bardziej zróżnicowane rozumienie tokenizacji, dzielenia słów itp.
=jest dla[.==jest dla[[.