何の処理もせず、procmailなしで電子メールをダウンロードしたいと思います。 fetchmailを次のように設定しようとしています。
mda "/bin/sh -c 'cat > INBOX/new/$(date +%s_%N)'"
ただし、予想される「1428556930_751589889」の代わりに「yuchao_326621000」というファイルが作成されました。私の考えでは、fetchmailが "%s"を現在のユーザー名に置き換えているためです。
それでは、「mda」オプションで「%」をエンコードする方法は?
私が試したこと:
mda "/bin/sh -c 'cat > INBOX/new/$(date +%%s_%N)'"
mda "/bin/sh -c 'cat > INBOX/new/$(date +\%s_\%N)'"
上記の両方の方法は無効です。
答え1
fetchmailのソースコード(sink.c、行1183付近)を読み取った後、「%」をエンコードする方法が見つかりません。
したがって、唯一の回避策は "%s"を使用しないことであり、bashの一重引用符構文を使用すると簡単です。
mda "/bin/sh -c 'cat > INBOX/new/$(date +%''s_%N)'"