<p dir="ltr">That assumes you don't do a common Linuxism and assume that sh is actually bash or something else and write a script that depends on a feature that's not common to all sh-like shells.</p>
<p dir="ltr">--  James L. Lauser<br>
    <a href="mailto:james@jlauser.net">james@jlauser.net</a><br>
    <a href="http://jlauser.net/">http://jlauser.net/</a></p>
<div class="gmail_quote">On Nov 17, 2014 4:58 PM, "Dan Langille" <<a href="mailto:dan@langille.org">dan@langille.org</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
> On Nov 16, 2014, at 9:59 PM, Jaime <<a href="mailto:jaime@snowmoon.com">jaime@snowmoon.com</a>> wrote:<br>
><br>
> On Sun, Nov 16, 2014 at 9:39 PM, Brian Callahan <<a href="mailto:bcallah@devio.us">bcallah@devio.us</a>> wrote:<br>
>> So this reminds me of an oft-forgotten point in portability of shell<br>
>> scripts: the popularity of the linuxism #!/bin/bash (though it appears it<br>
>> has crept into Mac OS X as well, sad...).<br>
><br>
> I was aware of the down sides of hard-coding the path to the script's<br>
> interpreter, but I wasn't aware of an alternative.  So thanks for<br>
> sharing the /usr/bin/env tip.  I have two thoughts that I hope you're<br>
> willing to hash-out with me, though.<br>
><br>
> 1)  Isn't the shebang that you suggested still hardcoded?  When the<br>
> script is taken to a new OS, wouldn't there still be a risk of it<br>
> breaking?  Has env just been in Unix for so long that its always in<br>
> /usr/bin?<br>
><br>
> 2)  On MacOS, bash is always installed at /usr/bin/bash.  My script<br>
> uses utilities specific to MacOS to modify configuration files<br>
> specific to MacOS in order to ease MacOS deployment.  It is inherently<br>
> irrelevent to other OSs and unable to move to another OS.  So is there<br>
> a benefit to changing the shebang to env?<br>
<br>
Code shell scripts with /bin/sh and avoid having to know where/if bash is installed.<br>
<br>
This is especially important for scripts others will use.<br>
<br>
—<br>
Dan Langille<br>
<br>
<br>
_______________________________________________<br>
CDBUG-talk mailing list<br>
<a href="mailto:CDBUG-talk@lists.nycbug.org">CDBUG-talk@lists.nycbug.org</a><br>
<a href="http://lists.nycbug.org/mailman/listinfo/cdbug-talk" target="_blank">http://lists.nycbug.org/mailman/listinfo/cdbug-talk</a></blockquote></div>