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