From: Junio C Hamano Date: Mon, 11 Aug 2008 18:59:52 GMT Subject: Re: git-bisect: weird usage of read(1) Message-ID: <7v7ianxtqv.fsf@gitster.siamese.dyndns.org> In-Reply-To: <48A0705B.3030107@lsrfire.ath.cx> René Scharfe writes: > 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 That's the right way to spell it. Sorry, I must have been too tired when I did this.