Hi, Lowell

On Mon, Jul 20, 2009 at 7:02 AM, Lowell
Gilbert<freebsd-stable-lo...@be-well.ilk.org> wrote:
> Glen Barber <glen.j.bar...@gmail.com> writes:
>
>> Possibly off-topic...
>>
>>
>> 2009/7/19 Glen Barber <glen.j.bar...@gmail.com>:
>>> 2009/7/19 Romain Tartière <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.  sh 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' 
>> shell."
>>
>> Can someone enlighten me if I am wrong about this?
>
> The person to whom you were responding had it closer.
>
> The shell specified in the "#!" first line is only consulted if you run
> it as "./foo.sh".  Otherwise, it's input to the shell that you started,
> and the line is only a comment.
>

I suppose that makes sense, but what if the script location is in the
user's $PATH?

-- 
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