Прочитайте, що для порівняння рядків всередині if
нам потрібно використовувати подвійні квадратні дужки. У деяких книгах сказано, що порівняння можна зробити за допомогою =
. Але це ==
теж працює.
#!/bin/bash
a="hello"
b="world"
if [[ $a == $b ]];then
echo "equal"
fi
Чи є різниця між порівнянням =
та ==
у порівнянні?
==
, саме тому вам слід використовувати =
(рівність) з [
(та ==
узгодження шаблону, із семантикою , котра цитує) [[
. Див help test
проти help [[
.
[ foo == foo ] && echo foo
безумовно, друкує foo
, вказуючи на те, що ==
працює з [
. Однак, якщо під "є для" ви маєте на увазі "було призначено для використання з", я маю менше заперечень.
[[
в першу чергу, що має значно більш нюансоване розуміння токенізації, розбиття слів тощо ...
=
є для[
.==
є для[[
.