X-Spam-Check-By: sourceware.org Date: Mon, 19 Dec 2005 10:24:34 -0500 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: test -e cannot distinguish between foo and foo.exe Message-ID: <20051219152434.GA10944@trixie.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com References: <43A6CDA0 DOT 8060508 AT scytek DOT de> <43A6D04E DOT 6020306 AT hones DOT org DOT uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <43A6D04E.6020306@hones.org.uk> User-Agent: Mutt/1.5.11 Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Mon, Dec 19, 2005 at 03:22:54PM +0000, Cliff Hones wrote: >Volker Quetschke wrote: >> I noticed the following behaviour: (found by my favorite testcase ;) ) >> >> $ rm -rf foo* ; touch foo.exe >> >> $ test -e foo && echo found foo >> found foo >> >> $ test -e foo.exe && echo found foo.exe >> found foo.exe >> >> Hmm, how can I test if foo exists without also looking at foo.exe? >> Does this count as a bug in test? >> >> My current workaround is >> >> $ find . -maxdepth 1 -name foo -exec echo _XfoundX_ \; | grep _XfoundX_ > >> /dev/null && echo found foo >> >> but that is a bit ugly. > >Much simpler than that: > > test -e foo. && echo found foo. > >The trailing dot excludes the .exe magic and is ignored on translation >to windows filename. ...except on managed mounts, IIRC. cgf -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/