Re: [PATCH] Use bash for test.sh.

Eitan Adler <[email protected]>
Newsgroups gmane.comp.compilers.ccache
Message-ID <CAF6rxgnUkx5GBh0dzA-jTgJbYNhWZ=+aK1R8rbtnd33q6dubNQ@mail.gmail.com>
On 6 November 2012 04:54, Andrew Stubbs <[email protected]> wrote:
>
> While it is true that "/usr/bin/env bash" is more portable than "/bin/bash",
> I also don't like it as much.
>
> If I run a "#!/bin/bash" script without bash installed I get:
>
>   /bin/bash: bad interpreter: No such file or directory
>
> If I try the same with "#!/usr/bin/env bash" I get:
>
>   /bin/env: bad interpreter: No such file or directory

Perhaps you should get a better version of env?
I get:

[10026 eitan@radar ~ ]%./hello
env: asdf: No such file or directory
[10027 eitan@radar ~ !127!]%cat hello
#!/usr/bin/env asdf

> In the former case any mildly experienced Unix user will just sigh and run
> the script under bash manually. In the later case you have to be very
> experienced not to spend ages thinking you must be crazy or have found a
> kernel bug, or something.

In the former case the package maintainers must fix the portability
bug the upstream author has introduced.
In the latter case they just have to add a dependency.

> It is, of course, the official Ccache maintainer's call which style is
> preferred, or even whether it's better to find and stamp out the errant
> bashism in the script, but my vote is for the simple /bin/bash option.

The followup to this discussion indicates that /bin/sh seems to be
sufficient (I need to check this myself when I get a chance).
checkbashims sees nothing wrong.


-- 
Eitan Adler
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.