v='*.z' | |
# Buggy: | |
# the problem is that expansion rules of LHS and RHS of ~= | |
# should not be the same: in RHS, "$v" and "*" should escape metas | |
# (currently "$v" does not), | |
# but in LHS, they should _not_ do that | |
# (currently "*" does). Thus these cases fail: | |
[[ a.z == "$v" ]]; echo 4:no:$? # BUG: "$v" expands to *.z | |
[[ "*".z == ?.z ]]; echo 5:YES:$? # BUG: "*" expands to \* |