Что делает оператор «=~» в сценариях оболочки?

Кажется, что это своего рода оператор сравнения, но что именно он делает, например. следующий код (взято из 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="…"(насколько я знаю, мой терминал поддерживает юникод), но что именно делает этот =~?

15
задан penartur 26 June 2012 в 11:20
поделиться