Почему следующий сценарий bash распечатывает только переменная сработала
?
#! /bin/bash
foo=baaz
regex='ba{2}z'
if [[ $foo =~ 'ba{2}z' ]]; then
echo "literal worked"
fi
if [[ $foo =~ $regex ]]; then
echo "variable worked"
fi
Есть ли в документации bash что-то, что оператор = ~
работает только с переменные, а не литералы? Применяется ли это ограничение к любым другим операторам?