Hacker News new | ask | show | jobs
by abusque 4130 days ago
What do you mean by GNUism?
2 comments

Non-POSIX options that may break compatibility at the user space (scripts, etc). Some people also include GCC stuff that is not standard compatible.
Many young generations not touched by UNIX think way GNU tools behave == UNIX, when they usually offer more features than the real ones.
Then again, so do the BSD tools. And of course the options are often not compatible between the two e.g. bsd sed's -l enables line buffering, gnu sed's -l specifies line-wrapping length; bsd sed's -i requires an extension (empty for no backup) while gnu sed's does not.

POSIX sed supports exactly 3 options (-n, -e and -f), the latest FreeBSD sed supports 10 (adding -E, -a, -I, -i, -l, -r and -u — the last two being GNUism compatibility options not necessarily available on older versions, they are not on my OSX machine) and GNU sed supports 9 short and an additional 4 long options. And that's not counting the extensions to the sed command set.

True, which is why it is hard to keep up with multiple UNIX implementations and to know what is supported on a given box without having to reach for man first.
I long for a straight POSIX-and-absolutely-nothing-else version of the core binaries, but haven't seen one so far.

Definitely less convenient, but would make building cross-platform scripts much easier.