On Fri, 09 Jan 2009 06:12:27 -0700, Eric Blake <e...@byu.net> wrote: >-----BEGIN PGP SIGNED MESSAGE----- >Hash: SHA1 > >According to Hongyi Zhao on 1/8/2009 8:55 PM: >> if [ -f *.cache-2 ] rm *.cache-2 >> >> But it seems that this -f parameter in the _if_ command will not work >> with wildcard, i.e., the _[ -f *.cache-2 ]_ isn't a valid arg. Any >> hints on this issue? > >Not cygwin specific. Your problem is that using a glob can expand to more >than one argument, whereas "[ -f ... ]" expects exactly one argument in >place of ...;
Thanks for your analyse. > using echo will show you where you went wrong: > >echo [ -f *.cache-2 ] But I cann't figure this out, see the following results on my box: $ echo [ -f *.cache-2 ] [ -f *.cache-2 ] I cann't see any differences between your code and the following one: $ echo something and something something and something Could you please give me some more hints? Regards, -- .: Hongyi Zhao [ hongyi.zhao AT gmail.com ] Free as in Freedom :. -- 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/