O que o operador “= ~” faz nos scripts de shell?

Parece que é uma espécie de operador de comparação, mas o que exatamente faz em, e. o seguinte código (retirado dehttps://github.com/lvv/git-prompt/blob/master/git-prompt.sh#L154)

    if [[ $LC_CTYPE =~ "UTF" && $TERM != "linux" ]];  then
            elipses_marker="…"
    else
            elipses_marker="..."
    fi

Atualmente estou tentando fazergit-prompt para trabalhar com o MinGW, e o shell fornecido com o MinGW não parece suportar este operador:

conditional binary operator expected
syntax error near `=~'
`        if [[ $LC_CTYPE =~ "UTF" && $TERM != "linux" ]];  then'

Neste caso específico, posso simplesmente substituir o bloco inteiro porelipses_marker="…" (como eu sei que meu terminal suporta unicode), mas o que exatamente isso=~ faz?

questionAnswers(4)

yourAnswerToTheQuestion