Date: Thu, 16 Dec 1999 15:40:20 +0100 From: Martin Cracauer <cracauer@cons.org> To: Marcel Moolenaar <marcel@scc.nl> Cc: Sheldon Hearn <sheldonh@uunet.co.za>, current@FreeBSD.ORG Subject: Re: sh(1) broken caching [was: Re: Broken sh(1)?] Message-ID: <19991216154020.A41154@cons.org> In-Reply-To: <38565DEA.4487DF53@scc.nl>; from Marcel Moolenaar on Tue, Dec 14, 1999 at 04:10:34PM %2B0100 References: <712.945183175@axl.noc.iafrica.com> <38565DEA.4487DF53@scc.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
You can also fool sh into running the *wrong* binary if if you have two in showdowed paths: #! /bin/sh test -d foo1 || mkdir foo1 test -d foo2 || mkdir foo2 test -d foo2 || mkdir foo3 echo 'echo :one' > foo1/run echo 'echo :two' > foo2/run echo 'echo :three' > foo2/run3 chmod a+x */run* hash -r echo echo Expect one: PATH=./foo3:./foo1:./foo2:./foo5 echo Expect two: PATH=./foo3:./foo3:./foo1 run echo run should be in in foo1: hash -v echo $PATH echo Should give one: run ==> runs foo2/run, not foo1/run. This is still covered by the quick fix I sent. Looking for cases that aren't... Martin -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Martin Cracauer <cracauer@cons.org> http://www.cons.org/cracauer/ BSD User Group Hamburg, Germany http://www.bsdhh.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19991216154020.A41154>