If a pattern ends with an unescaped backslash, it is unspecified whether the pattern does not match anything or the pattern is treated as invalid.
This means the pattern should not match with any word in bs='\\\'; case word in $bs) echo match; esac. In existing shells, however, one of \, \\ and \\\ matches.
Seems the future version of POSIX is going to say that the entire behavior is unspecified in such a case.
(Issue migrated from https://osdn.net/projects/yash/ticket/40752)
XCU 2.13.1 Patterns Matching a Single Character:
This means the pattern should not match with any
word
inbs='\\\'; case word in $bs) echo match; esac
. In existing shells, however, one of\
,\\
and\\\
matches.Seems the future version of POSIX is going to say that the entire behavior is unspecified in such a case.
https://www.austingroupbugs.net/view.php?id=1234#c4564