Bash: сравниваем строки
как сравнить две строки в консоли (bash)
При создании bash-скриптов часто возникает необходимость проверить строки на соответствие друг другу. Считается, что две строки равны, если они содержат одинаковые символы и имеют одинаковую длину.
Для того, чтобы сравнить две строки в bash, потребуется условный оператор if
и оператор сравнения ==
в сочетании с двойными скобками [[...]]
.
Например:
str1="hello"
str2="hello"
# Equality Comparison
if [[ "$str1" == "$str2" ]]; then
echo "Strings are matched"
else
echo "Strings don't match"
fi
Результат:
Strings are matched
Использование одинарных квадратных скобок
[...]
приводит к ошибке в случае, если одна из переменных не определена.
Соблюдение отступов (пробелов) так же имеет значение при написании условия выражения.
Спасибо за внимание.