Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH] contrib: Replaced /bin/sh with /bin/bash to make scripts with Bash syntax work on Solaris.

From: Greg Troxel <hidden>
Date: 2016-06-15 22:49:17

Junio C Hamano [off-list ref] writes:
Asgeir Storesund Nilsen [off-list ref] writes:
quoted
I absolutely agree on the idea of using pure POSIX, but in reality I guess
most of both developer and user base are using (GNU/)Linux and thus an
environment where /bin/sh is in fact Bash?
The various BSDs have shells that are not bash, but which are believed
to be fully POSIX-compliant.  Putting #!/bin/bash in scripts is
nonportable and just creates work for packagers to undo this.
For example, dash is a much lighter alternative than bash, and groks POSIX
fine.
I believe that some GNU/Linux distributions have a /bin/sh that is not
bash.  Plus there is the /bin/sh on BSD, which is vastly smaller even if
one counts libedit:

   text    data     bss     dec     hex filename
 109602    1192    5836  116630   1c796 /bin/sh
   text    data     bss     dec     hex filename
  96523    4248    7488  108259   1a6e3 /lib/libedit.so.2.11

   text    data     bss     dec     hex filename
 716381   18328   11880  746589   b645d /usr/pkg/bin/bash

I think a safer assumption is that /bin/sh is POSIX, and we make sure that
the builder can countermand it with SHELL_PATH; as platforms whose /bin/sh
is _not_ POSIX does not have to have bash as /bin/bash but somewhere else
(e.g. /usr/local/bin/bash).
Agreed.  The current sources work well on NetBSD w.r.t. sh usage.

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help