Dash as default shell

Chris Adams linux at cmadams.net
Thu Oct 2 12:59:34 UTC 2014


Once upon a time, Lennart Poettering <mzerqung at 0pointer.de> said:
> The shell is API.

Yep, and that API is the POSIX shell language, an extended version of
the Bourne shell.  It is a Linux curiousity that came along to use bash
as /bin/sh.

> Currently, if people write shell (#!/bin/sh) scripts
> on Fedora, they can be sure that the same language is available on all
> Fedora installations. If you suddenly make /bin/sh something that
> might be different on all systems, you pretty much break API there.

Writing "#!/bin/sh" and expecting bash in inherently non-portable.
Anything that runs on more than one platform will have already found
that out.  Saying that Fedora can't use anything other than bash as
/bin/sh because of that is a very poor argument.

If that's the case, why do we have the /bin/sh symlink?  Just remove it
and make the bash dependency explicit (so everything has to call
/bin/bash).

> In general, I am pretty sure that except a couple of programming
> language or UNIX aficionades very few people can actually correctly
> separate bashisms from true bourneshellisms.

It isn't that hard.
-- 
Chris Adams <linux at cmadams.net>


More information about the devel mailing list