[Mew-dist 14510] Re: b68

Yasunari Momoi momo at example.com
2000年 10月 12日 (木) 14:24:11 JST


From: Kazu Yamamoto (山本和彦) <kazu at example.com>
Subject: [Mew-dist 14506] Re: b68
Date: Thu, 12 Oct 2000 13:16:08 +0900

> > ちょっと現実逃避 (^^;) に,上記の仕様で qmail の Maildir か
> > ら inc する shell script を書いてみました.小さいしいろいろ
> > 手抜きしてますが,一応流しておきます.
> 
> cur に mv する必要はあるんですか?
> あと、contrib/ に入れた方がいいでしょうか?

そのあたりは私の決めることではなさそうな気がします.現実逃避
してみただけで,普段は Maildir な環境使ってないし (^^;).

とりあえず cp するか mv するかはオプションで対応してみました.
それと,Maildir の位置もオプション指定できるようにしました.
contrib に入れるほどのものかも分かりませんが,まあとりあえず
は使えると思います.しかし,コマンド名は考え直す必要があるか
もしれません.

...そもそも,これ,どなたか使ってますか (^^;)?

-- momo

-------------- next part --------------
#!/bin/sh

MDIR=~/Maildir
MOVE="NO"

args=$(getopt d:m $*)
if [ $? != 0 ]; then
    echo "usage: incdir [-d maildir] [-m]"
    echo "    -m  move to user's mailbox directly.  (don't backup)"
    exit 0
fi
set -- $args
for i
do
    case "$i" in
    -d)
	MDIR="$2"; shift; shift
	;;
    -m)
	MOVE="YES"; shift
	;;
    --)
	shift; break
	;;
    esac
done

if [ \( ! -d $MDIR/new \) -o \( ! $MOVE = "NO" -a -d $MDIR/cur \) ]; then
    echo "can't find $MBOX dir."
    exit 1
fi

SEQ=$(ls -f1 | sort -n | tail -1)
if [ "$SEQ"X = ""X ]; then
    SEQ=1
else
    SEQ=$(($SEQ + 1))
fi

for f in $MDIR/new/*; do
    # sanity check
    while [ -f $SEQ ]; do
	SEQ=$(($SEQ + 1))
    done

    if [ "$MOVE"X = "YES"X ]; then
	mv $f $SEQ
    else
	cp -p $f $SEQ
	mv $f $MDIR/cur/$(basename $f):2,S
    fi
    echo $SEQ
    SEQ=$(($SEQ + 1))
done

exit 0


Mew-dist メーリングリストの案内