On Mar 26, 2004, at 7:40 pm, Eugene Lee wrote: > On Fri, Mar 26, 2004 at 05:04:34PM +0000, Stroller wrote: > : > : On Mar 26, 2004, at 12:15 pm, Eugene Lee wrote: > : > > : >: #! /bin/sh > : > > : >No spaces here, it should be "#!/bin/sh" (without the quotes). > : > : It's probably more elegant to use #!/bin/bash at the beginning of > your > : scripts, as we don't actually have a Bourne shell on our Macs. > > True, but not everyone has /bin/bash. Some have /usr/local/bin/bash. > /bin/sh is guaranteed to be more portable. You're using applescript in scripts that are intended to be portable..?!? > : In > : additional to its superset of commands `bash` does, I believe, behave > : slightly differently from traditional `sh`; if invoked as `sh` Bash > : _should_ behave as `sh`, however I am not aware that this has been > : demonstrated. [1] > > Actually, the binary does behave differently according to the man page: > > ... > If bash is invoked with the name sh, it tries to mimic the > startup > behavior of historical versions of sh as closely as > possible... I quoted that already - see my posting of January 7, 2004 8:46:38 pm GMT. What I perhaps should have said in my reply to you earlier today is that "..if invoked as `sh` Bash _should_ behave exactly as `sh`, however I am not aware that this has been fully demonstrated. IE: I was unable to provide evidence that GNU bash is bug-free in this respect. > If bash is invoked with the name sh, it tries to mimic the > startup > behavior of historical versions of sh as closely as > possible, while > conforming to the POSIX standard as well. The word "tries" is also very telling in the quoted statement, as is "whilst behaving to the POSIX standard". What does Bash do if there's a conflict between sh's behaviour & the POSIX standard..? The rest of your quote from the manpage deals with startup options, about reading initialisation files on startup, but doesn't seem to specify how bash deals with commands that have different syntax (or do not exist) in the Bourne shell, if invoked as /bin/sh. Believe me, I would have liked nothing more than to be able to demonstrate, in reply to William H. Magill's posting of January 8, 2004 8:49:14 pm GMT, that Bash does in fact behave correctly when invoked as `sh`, but I Googled for over an hour and was unable to find anything confirming that it does. Stroller.