私の人生の間、私のスクリプトが日付のコマンドを変数として取らない理由を理解できません。私は、メッセージが受信されるたびに実行されるスクリプトを持っていて、procmail
は、その件名で特定のメッセージをフィルタリングします。スクリプトは次のようになります。現在の日付をbashのスクリプト内の変数に設定する
d=$(date +%Y%m%d)
:0 wc
* ^(From|subject).*xxx
| cat&>/xx/xx/xx/xx/MSG:$d && \
chmod xxx /xx/xx/xx/xx/MSG:$d && \
/xx/xx/xx/otherscript.sh /xx/xx/xx/xx/MSG:$d
私は問題なく他のスクリプトにしてstdout
に倍のdateコマンドの多くを実行しているので、これはprocmail
問題である場合、私は疑問に思って?私はこれについていくつかの異なるサイトを見てきましたが、解決策はまだ見つかりませんでした。私の最終目標は、新しいメールが来るたびにユニークなファイル名と組織目的で作成することです。procmail
とは何かがあると信じているもう一つの理由は、わずか3か月前にうまくいきました。 (ファイルや権限は変更されませんでした)。 (日付)、MSG::私が作成したファイルの様々な、それはMSG印刷に至るまで取得
$'date +"%Y%m%d"'
$(date)
echo $(date)
:私も(ほんの一例を示す)いくつかのバリエーションを試してみました。(日付などをMSGは:(日付が表示されます。 〜に変数が読み込まれようとしているが、日付と+の間のスペースが問題になっている。日付は追加され、うまく動作します:
fileOut="/xxx/xxx/xxx/xxx.$v.$(date +"%Y%m%d-%H%M%S").xxx"
prints: xxx.YH8AcFV9.20160628-090506.txt
ありがとうございました.-)
私が見ているドキュメントは、「d = 'date +」%Y%m%d「' 'がそのトリックを行うべきであることを示しているようです。あなたはそれを試しましたか? –
'chmod'で手を加えずに' UMASK'を設定するか、スクリプトを標準入力から読み込むように変更する方が良いでしょう。 – tripleee