Команда mutt с несколькими вложениями в однопользовательской unix

Мое требование - прикрепить все файлы .csv в папке и отправить их в одно письмо.

Вот что пробовали,

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 не поддерживает такой синтаксис, но это не значит, что это невозможно. Вам просто нужно создать команду mutt.

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

Команда в $( ... ) создает что-то вроде этого:

-a aaa.csv -a bbb.csv -a ...

Ответ 2

Я получаю обратную косую черту (\) Дополнительно

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