Re: Charles Cazabon in <20050222150644.GA12372@xxxxxxxxxxxxxxxxxxxx>
> > rmdir %s/cur %s/tmp %s/new %s
>
> That still has the problem that it can leave an invalid maildir behind;
> consider the case of a maildir with no new messages in it, for example.
rmdir %s/cur %s/new %s/tmp %s || mkdir %s/cur %s/new %s/tmp
(The exit code is coincidentally >0 unless creating tmp fails, which
is unlikely.)
> The only truly safe way to do this is to stop any processes which could
> deliver mail to the maildir in question, then do something like:
We could rename the maildir first, but this isn't 100% safe, too.
> [ ! -f %s/cur/* -a ! -f %s/tmp/* -a ! -f %s/new/* ] && rm -rf %s
-a isn't POSIX, one should use [ ... ] && [ ...] instead. And if the *
expands to > 1 file, this goes havoc. The easiest way to check if a
wildcard pattern expands I found was the following, which is still
ugly:
set -- *
if [ "$1" != "*" ] ; then...
Christoph
--
cb@xxxxxxxx | http://www.df7cb.de/
Attachment:
signature.asc
Description: Digital signature