Boston Linux & Unix (BLU) Home | Calendar | Mail Lists | List Archives | Desktop SIG | Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings
Linux Cafe | Meeting Notes | Linux Links | Bling | About BLU

BLU Discuss list archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bash if file exists



 On Thu, Apr 03, 2008 at 01:27:56PM -0400, Eric Chadbourne wrote: 
> Hi all.  Help I'm having a brain freeze.  How come this doesn't work? 
> Thanks.  - Eric C. 
> 
> if [ -a *.zip ] ; 
> then 
> echo "there is a zip"; 
> else 
> echo " no zip found"; 
> fi 

It's already been explained why this fails...  Other solutions exist, 
however this one is one of the simplest: 

foo=`echo *.zip |grep -v '*\.zip'` 
if [ -n "$foo" ]; then 
        echo "there is a zip" 
else 
        echo "there is no zip" 
fi 

In very unusual circumstances (i.e. if you have an actual file whose 
name contains the exact string "*.zip") the above can fail.  Using '*' in 
file names is rare, precisely because it's a wildcard 
character, so in practice it's probably fine. 

-- 
Derek D. Martin    http://www.pizzashack.org/   GPG Key ID: 0xDFBEAD02 
-=-=-=-=- 
This message is posted from an invalid address.  Replying to it will result in 
undeliverable mail due to spam prevention.  Sorry for the inconvenience. 

_______________________________________________ 
Discuss mailing list 
[hidden email] 
http://lists.blu.org/mailman/listinfo/discuss
 


BLU is a member of BostonUserGroups
BLU is a member of BostonUserGroups
We also thank MIT for the use of their facilities.

Valid HTML 4.01! Valid CSS!



Boston Linux & Unix / webmaster@blu.org