Đọc rằng để so sánh các chuỗi bên trong ifchúng ta cần sử dụng dấu ngoặc vuông. Một số cuốn sách nói rằng so sánh có thể được thực hiện bởi =. Nhưng nó hoạt động với ==quá.
#!/bin/bash
a="hello"
b="world"
if [[ $a == $b ]];then
echo "equal"
fi
Có một sự khác biệt giữa =và ==trong so sánh?
==, đó là lý do tại sao bạn nên sử dụng =(bình đẳng) với [và ==(khớp mẫu, với ngữ nghĩa được trích dẫn) [[. Xem help testso với help [[.
[ foo == foo ] && echo foochắc chắn in foo, chỉ ra rằng nó ==hoạt động với [. Tuy nhiên, nếu "dành cho" bạn có nghĩa là "được dự định sử dụng", thì tôi sẽ ít phản đối hơn.
[[ở nơi đầu tiên có sự hiểu biết nhiều sắc thái hơn về tokenisation, chia tách từ, v.v ...
=là cho[.==là cho[[.