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