test -e cannot distinguish between foo and foo.exe

Cliff Hones cliff@hones.org.uk
Mon Dec 19 15:22:00 GMT 2005


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.

-- Cliff



--
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/



More information about the Cygwin mailing list