Re: [PATCH] contrib: Replaced /bin/sh with /bin/bash to make scripts with Bash syntax work on Solaris.
- From
- Greg Troxel <gdt@ir.bbn.com>
- Date
- Aug 10, 2010, 12:33 UTC
- Message-ID
- <rmiy6cezlyf.fsf@fnord.ir.bbn.com>
- In-Reply-To
- <7vmxsv7n3d.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 5 quoted lines
> Asgeir Storesund Nilsen <asgeir@twingine.no> writes: > >> 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.