Что делает оператор «= ~» в сценариях оболочки?
Кажется, что это своего рода оператор сравнения, но что именно он делает, например, следующий код (взят изhttps://github.com/lvv/git-prompt/blob/master/git-prompt.sh#L154)?
if [[ $LC_CTYPE =~ "UTF" && $TERM != "linux" ]]; then
elipses_marker="…"
else
elipses_marker="..."
fi
Я сейчас пытаюсь сделатьgit-prompt
работать под MinGW, и оболочка, поставляемая с MinGW, похоже, не поддерживает этот оператор:
conditional binary operator expected
syntax error near `=~'
` if [[ $LC_CTYPE =~ "UTF" && $TERM != "linux" ]]; then'
В этом конкретном случае я могу просто заменить весь блокelipses_marker="…"
(насколько я знаю, мой терминал поддерживает Unicode), но что именно это=~
делает?