Команда 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