From owner-freebsd-stable@FreeBSD.ORG Mon Jul 20 14:02:25 2009 Return-Path: Delivered-To: stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0086F1065672 for ; Mon, 20 Jul 2009 14:02:25 +0000 (UTC) (envelope-from glen.j.barber@gmail.com) Received: from mail-fx0-f205.google.com (mail-fx0-f205.google.com [209.85.220.205]) by mx1.freebsd.org (Postfix) with ESMTP id 82E108FC12 for ; Mon, 20 Jul 2009 14:02:24 +0000 (UTC) (envelope-from glen.j.barber@gmail.com) Received: by fxm1 with SMTP id 1so417008fxm.43 for ; Mon, 20 Jul 2009 07:02:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=gcdbW4PmxP5E8lVQ57OhSp4hfugID117+379B8hro7M=; b=uw7hHI8UmhyWds1cbyZen+iCzd8zcwS+jy/gOLSN30q2wLqs2qOXK822Gx+X9/7ws6 sXXIVui6hxpoDx1hzOblVIDXELB8cEOwLe6TWLW11A5GYp77gBAaEiLJ41e9fPItpCyu dNYUjx55oNlyUcvebPTo20gxLc+tA/nO31YpY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=QbvPHh4c3VXBWLj6d87N8H8vn9fDUv6HseQVH/OFU/R97oHpWx8yoPUqojJg8ThER0 lxRMt67wJL8YXB5mNIXXc+IEsewfsGHwEncOgQeQTkT75Iskob6toQrjX/V6/EL9dCET q7RebQo5jvmj1hAtxv5X7KGyGsDfLUEoyfncw= MIME-Version: 1.0 Received: by 10.223.126.66 with SMTP id b2mr1312966fas.18.1248098543649; Mon, 20 Jul 2009 07:02:23 -0700 (PDT) In-Reply-To: <44tz17k46h.fsf@lowell-desk.lan> References: <4ad871310907191717g1ed90be7y92250f2addc38d43@mail.gmail.com> <44tz17k46h.fsf@lowell-desk.lan> Date: Mon, 20 Jul 2009 10:02:23 -0400 Message-ID: <4ad871310907200702q6d13a44bqaeb2242d65866b16@mail.gmail.com> From: Glen Barber To: Lowell Gilbert Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: stable@freebsd.org Subject: Re: Shell execution ( [was] Re: Value of $? lost in the beginning of a function.) X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Jul 2009 14:02:25 -0000 Hi, Lowell On Mon, Jul 20, 2009 at 7:02 AM, Lowell Gilbert wrote: > Glen Barber writes: > >> Possibly off-topic... >> >> >> 2009/7/19 Glen Barber : >>> 2009/7/19 Romain Tarti=E8re : >>>> 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' s= hell." >> >> 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". =A0Otherwise, 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? --=20 Glen Barber