它似乎是一种比较运算符,但它在例如以下代码(取自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 提供的 shell 似乎不支持此运算符:
conditional binary operator expected
syntax error near `=~'
` if [[ $LC_CTYPE =~ "UTF" && $TERM != "linux" ]]; then'
在这种特定情况下,我可以将整个块替换为elipses_marker="…"
(我知道我的终端支持 unicode),但这到底是=~
做什么的?