[TUHS] basic tools / Universal Unix
steffen at sdaoden.eu
Fri Oct 20 07:03:40 AEST 2017
Good evening everybody.
Random832 <random832 at fastmail.com> wrote:
|On Thu, Oct 19, 2017, at 10:33, Steffen Nurpmeso wrote:
|> Random832 <random832 at fastmail.com> wrote:
|>|On Wed, Oct 18, 2017, at 19:03, Doug McIlroy wrote:
|>|>> But mind you, in preparation of this email i found a bug in
|>|>> Busybox sed(1) which simply echoes nothing for the above.
|>|> I assume that * is a typo for - . If so, sed did just what
|>|> -n tells it to--no printing except as called for by p or P.
|>|Or, you know, l (the letter ell). Which busybox sed appears to not
|>|support at all, rather than somehow misapplying -n to it.
|> The letter l, yes. But it does not fail either, so it knows about
|> it, talking version 1.27.something here.
|If you look at the source, it is in the list that is checked for
|printing (or not) the 'unsupported command' error message, but there is
|no actual code to handle it (and when called *without* -n, it just falls
|through and prints once, just like if you'd had no command at all)
That is true.
|I think that makes this a legitimate bug in busybox, rather than simply
|an artifact of being a minimal tool that doesn't aim for posix (or
|historical unix) conformance.
Yes, it should error out or implement the stuff i think. The way
it is is not handable.
The comments in coreutils/cat.c are postable in this thread too:
/* Rob had "cat -v" implemented as a separate applet, catv.
[That is Rob AT Landley DOT NET]
* See "cat -v considered harmful" at
[This server has been killed]
* From USENIX Summer Conference Proceedings, 1983
* The talk reviews reasons for UNIX's popularity and shows, using UCB cat
* as a primary example, how UNIX has grown fat. cat isn't for printing
* files with line numbers, it isn't for compressing multiple blank lines,
* it's not for looking at non-printing ASCII characters, it's for
* concatenating files.
* We are reminded that ls isn't the place for code to break a single column
* into multiple ones, and that mailnews shouldn't have its own more
* processing or joke encryption code.
* I agree with the argument. Unfortunately, this ship has sailed (1983...).
* There are dozens of Linux distros and each of them has "cat" which supports -v.
* It's unrealistic for us to "reeducate" them to use our, incompatible way
* to achieve "cat -v" effect. The actual effect would be "users pissed off
* by gratuitous incompatibility".
And, indeed sailing (-vet explicitly compiled in):
?0[steffen at essex busybox.git]$ echo −e | cat -vet
Then again, you know, i personally have problems with -vet and
think the POSIX sed variant is easier to grasp:
?0[steffen at essex busybox.git]$ echo −e | sed -n l
|Der Kragenbaer, The moon bear,
|der holt sich munter he cheerfully and one by one
|einen nach dem anderen runter wa.ks himself off
|(By Robert Gernhardt)
More information about the TUHS