From: René Scharfe Date: Mon, 11 Aug 2008 17:01:15 GMT Subject: Re: git-bisect: weird usage of read(1) Message-ID: <48A0705B.3030107@lsrfire.ath.cx> In-Reply-To: <20080811164945.GI32184@machine.or.cz> Petr Baudis schrieb: > On Mon, Aug 11, 2008 at 04:59:32PM +0100, Reece Dunn wrote: >>>> On Mon, 11 Aug 2008, Francis Moreau wrote: >>>>> case "$(read yesno)" in [Nn]*) exit 1 ;; esac >> does not work as expected. Replacing this with >> >> case "$(read yesno; echo $yesno)" in [Nn]*) exit 1 ;; esac >> >> would work as intended, as Mikael has pointed out. > > Wouldn't it be more elegant to > > case "$(head -n 1)" in [Nn]*) exit 1 ;; esac Only if head is a built-in, otherwise you fork needlessly. Not that this is a performance critical part, but I wouldn't call it "elegant". What's wrong with the following variant, already used a few lines up in the file? read yesno case "$yesno" in [Nn]*) exit 1 ;; esac René