On 17 Oct 2006, Sonia Hamilton <[EMAIL PROTECTED]> wrote:
> I've written a small script that archives email - it works, but I was
> wondering if there's any better way to write it (apart from using
> another language).
> 
> The script is:
> 
> > for i in z_bak:7 root:14 y_spam_definite:56 ; do
> >     mydir=${i%:*}
> >     mydays=${i#*:}
> 
> $mydir is the directory to cleanup, $mydays is the # of days I want to
> keep email. Is there any better way of writing the for loop to go thru
> the 2 sets of values?

Using associative arrays in zsh (or ksh or maybe bash?) you can write

 typeset -A to_archive
 to_archive=(z_bak 7 root 14 y_spam_definite 56)
 for mydir in ${(k)to_archive}
 do 
   mydays=$to_archive[$mydir]

But I've actually never used them before doing this, and I have to say
the ${(k)to_archive} is beyond my current tolerance for shell wierdness.

-- 
Martin
-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html

Reply via email to