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?