Co robi operator „= ~” w skryptach powłoki?

Wydaje się, że jest to swego rodzaju operator porównania, ale co dokładnie robi np. W następujący kod (pobrany zhttps://github.com/lvv/git-prompt/blob/master/git-prompt.sh#L154)?

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

Obecnie próbuję to zrobićgit-prompt do pracy w MinGW, a powłoka dostarczona z MinGW nie obsługuje tego operatora:

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

W tym konkretnym przypadku mogę po prostu zastąpić cały blokelipses_marker="…" (jak wiem, mój terminal obsługuje Unicode), ale co to dokładnie=~ robi?

questionAnswers(4)

yourAnswerToTheQuestion