我并不是说这个问题只针对 UNIX,而是我在 Solaris 上工作,我没有在任何其他操作系统上尝试过。我在扩展的正则表达式之间感到困惑:
第一的:
[[ "str" == ?(str|STR) ]] && echo "matched"
这项工作是正确的,但是当:
[[ "str str" == ?(str|STR)(.*) ]] && echo "matched"
它不起作用,是不是意味着我只能比较一种模式。
第二:
[[ "str" =~ ?(str|STR) ]] && echo "matched"
我不能在这里使用这个表格,为什么?,但是当:
[[ "str" == (str|STR)? ]] && echo "matched"
它工作正常。