On Sun, Jul 19, 2009 at 9:02 PM, Mark Andrews<ma...@isc.org> wrote:
>
> In message <4ad871310907191717g1ed90be7y92250f2addc38...@mail.gmail.com>, Glen
> Barber writes:
>> Possibly off-topic...
>>
>>
>> 2009/7/19 Glen Barber <glen.j.bar...@gmail.com>:
>> > 2009/7/19 Romain Tarti=E8re <rom...@blogreen.org>:
>> >> Hi Glen,
>> >>
>> >> On Sun, Jul 19, 2009 at 04:32:28PM -0400, Glen Barber wrote:
>> >>> > % sh foo.sh
>> >>> > % zsh foo.sh
>> >>> > % bash foo.sh
>> >>> What happens if you replace '#!/bin/sh' with '#!/usr/local/bin/zsh' ?
>> >>
>> >> This is not related to my problem since I am not running the script
>> >> using ./foo.sh but directly using the proper shell. =A0sh just behaves
>> >> differently, that looks odd so I would like to know if it is a bug in sh
>> >> or if there is no specification for this and the behaviour depends of
>> >> the implementation of each shell, in which case I have to tweak the
>> >> script I am porting to avoid this construct (passing $? as an argument
>> >> for example).
>> >>
>> >> Romain
>> >>
>> >
>> > My understanding was this:
>> >
>> > If you specify 'sh foo.sh' at the shell, the script will be run in a
>> > /bin/sh shell, _unless_ you override the shell _in_ the script.
>> >
>> > Ie, 'sh foo.sh' containing '#!/bin/sh' being redundant, but 'zsh
>> > foo.sh' containing '#!/bin/sh' would execute using zsh.
>> >
>> >
>>
>> I meant to say in the last line: "'#!/bin/sh' would override the 'zsh' shel=
>> l."
>>
>> Can someone enlighten me if I am wrong about this?
>>
>
> "#!" is used to define the interpretor when the file is exec'd.
>
> perl, AFAIK, is the only interpretor that will look at what is after
> the "#!" and modify it's behaviour.  All other a interpretors (shells)
> treat "#!" as a comment.
>
> Some shells used to examine the executable about to be called and
> looked for "#!" and invoke the correct interpretor.  This was how
> "#!" was supported before kernels has support for "#!".  It was all
> done in userland.
>

Hi, Mark.

You've given me enough information to point me in the right direction
on digging further into this.  Thanks, and I appreciate the response!


-- 
Glen Barber
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to