Jim covered most of the points nicely, but I thought I'd fill in some corners:
Aron Griffis <[EMAIL PROTECTED]> writes: > I don't see a motivation for their removal, since the older syntax > is unambiguous and in heavy use by thousands of UNIX scripts already > in existence. As Jim said, the motivation is POSIX conformance. I wasn't present when POSIX was written, but I suspect their motivations were as follows: (1) Options should use a regular syntax. (2) Option order should normally not matter. (You can find more details about this in <http://www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap12.html>.) Clearly, traditional "tail" doesn't obey these rules. For example: $ tail -1 /etc/motd Sun Microsystems Inc. SunOS 5.9 Generic May 2002 $ tail -f /etc/motd Sun Microsystems Inc. SunOS 5.9 Generic May 2002 ^C $ tail -1 -f /etc/motd tail: cannot open input $ tail -f -1 /etc/motd tail: cannot open input In the process of cleaning up this mess, the POSIX standardizers decided that "tail -10" should mean the same thing as "tail -1 -0", i.e. that "1" and "0" should be separate options, just as the alphabetic options are. This was for regularity. And if option order doesn't matter, then it should be equivalent to "tail -0 -1", or to "tail -01". Hence it wasn't right to use that syntax at all, so people are supposed to use the new "tail -n 10" syntax instead. Mind you I'm not saying that I would have agreed with all this. I'm just trying to let you peek into what I suspect was the thought processors of the POSIX standardizers (who did all this work more than a decade ago). > I seriously doubt that any of the commercial UNIXes will ever > disallow the -number syntax That's quite possibly true. For example, Solaris (the only commercial UNIX I regularly use these days) does not conform to POSIX by default. You have to prepend /usr/xpg4/bin to your path to get a POSIX environment. I suppose Gentoo could do something like that, but I don't recommend it; it's a real pain in practice. Better would be Jim's suggestion to set _POSIX2_VERSION back to _POSIX2_VERSION=199209 somewhere -- either in the default login environment, or in your C library, or wherever, as a temporary transition aid. (Whose idea was it to set _POSIX2_VERSION to 200112 in Gentoo's C library, anyway? :-) _______________________________________________ Bug-coreutils mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-coreutils