On Nov 10 18:15:44, h...@stare.cz wrote: > expr(1) says > > expr1 {=, >, >=, <, <=, !=} expr2 > > Returns the results of integer comparison if both arguments > are decimal integers; otherwise, returns the results of > string comparison using the locale-specific collation > sequence. The result of each comparison is 1 if the specified > relation is true, or 0 if the relation is false. > > Looking at expr.c, it boils down to strcoll(), which ignores the locale. > So the statement is technically true, but there isn't really any > "locale-specific collation sequence". > > Would it be simpler to leave the mention of locale completely out? > Or state something similar to what sort(1) or strcoll(3) and other > string-comparing routines say?
For example, $ expr č '<' d 0 Which locale-specific collation sequence determined that? Byte by byte, it's c48d U+00010d č LATIN SMALL LETTER C HACEK 64 U+000064 d LATIN SMALL LETTER D and I don't think there is anything more to it. (Although in the Czech alphabet, č comes just before d.) Jan