2013-06-27 10 views
16

私の要件は、すべての.csvファイルをフォルダに添付して1つのメールで送信することです。シングルメールで複数の添付ファイルを使用するmuttコマンド

ここ

何をしようとしているされ、

mutt -s "subject" -a *.csv -- [email protected] < subject.txt 

上記のコマンドは、作業(これは、複数のファイルを認識していない)。そして、エラー

Error sending message, child exited 67 (User unknown.). 
Could not send the message. 

を投げ、私は次のように複数の-aオプションを使用してみましたされていません、

mutt -s "subject" -a aaa.csv -a bbb.csv -- [email protected] < subject.txt 

これは期待どおりに動作します。 しかし、これは例えば100ファイルでは実現できません。私はファイルマスク(* .csvのようにすべてのcsvファイルを取るように)を使うことができるはずです。単一のコマンドで* .csvのように使用できる方法はありますか?

おかげ

+1

あなたはmuttのどのバージョンを使用しているの?あなたの最初の試行のようなコマンドは、私のコピーが最近のバージョンの水銀リポジトリからコンパイルされた状態で私のために働いていましたが、1.5.15リリースから開始されました。 – qqx

+0

@qqxああですか?それは素晴らしいです。 Mutt 1.4.1を使用しています。 – Mari

答えて

21

Muttは、このような構文をサポートしていませんが、それはそれは不可能だという意味ではありません。 muttコマンドをビルドするだけです。

mutt -s "subject" $(printf -- '-a %q ' *.csv) ... 

$(...)のコマンドは、このような生成します。

-a aaa.csv -a bbb.csv -a ... 
+1

ありがとうございます。 "printf - '-a%q' * .csv"これが大好きです。 – Mari

0

私はバックスラッシュ(\)を取得していますまた

Daily_Batch_Status{20131003}.PDF 
Daily_System_Monitoring{20131003}.PDF 

printf -- '-a %q ' *.PDF 
-a Daily_Batch_Status \ {20131003 \ }.PDF -a Daily_System_Monitoring \ {20131003 \ }.PDF 
関連する問題