david@utzoo.UUCP (David Trueman) (10/02/84)
The system 5 sh(1) manual page, in reference to filename generation, states: [. . .] Matches any one of the enclosed characters. A *pair* [my emphasis] of characters separated by `-' matches any character lexically between the *pair*, inclusive. This certainly suggests that a `-' at the beginning or end of the set of characters (`. . .' above) should have no special meaning, since it is not between a *pair* of characters. However, the code is such that the `-' is taken to denote a range of characters regardless. If in doubt, try the following little shell script with an argument of `-', `a' or `z'. (case pattern matching uses the same logic as filename generation) case "$1" in *[-a-z-]*) echo "Your're OK" ;; *) echo "You've got the bug" ;; esac Does anyone depend on this behaviour? -- David Trueman @ U of Toronto Zoology {allegra,ihnp4,linus,decvax}!utzoo!david