Прикрепить файлы для отправки почты, которые являются результатом набора команды find

Используя команду find я получил несколько файлов. Теперь я хочу добавить все эти файлы в качестве вложения электронной почты. Как добавить эти файлы в виде вложения в одну почту?

Я хочу реализовать это в скрипте. Нужно ли использовать цикл и хранить файлы в переменных массива?

EX: У меня есть 3 файла результатов по следующим

 find . -type f -name "sum*" 

результат:

 sum123.pdf sum234.pdf sum453.pdf 

2 Solutions collect form web for “Прикрепить файлы для отправки почты, которые являются результатом набора команды find”

Вы можете сделать это с помощью mutt следующим образом:

 mutt -a $(find . -type f -name "sum*") 

Если вы хотите сделать это не интерактивным, попробуйте

 mutt -s "Subject" -a $(find . -type f -name "sum*") -- user@cats.com < /dev/null 

Если mutt не установлен, вот пример с mail и другими инструментами (например, mpack )!

Так что это должно быть что-то вроде

 #!/bin/bash # This needs heirloom-mailx from="sender@example.com" to="recipient@example.org" subject="Some fancy title" body="This is the body of our email" declare -a attargs for att in $(find . -type f -name "sum*"); do attargs+=( "-a" "$att" ) done mail -s "$subject" -r "$from" "${attargs[@]}" "$to" <<< "$body" 

Для среды sh без объявления:

 #!/bin/sh # This needs heirloom-mailx from="sender@example.com" to="recipient@example.org" subject="Some fancy title" body="This is the body of our email" attargs="" for att in $(find . -type f -name "sum*"); do attargs="${attargs}-a $att " done attargs=${attargs::-1} mail -s "$subject" -r "$from" ${attargs[@]} "$to" <<< "$body" 
 ATTACH_FILE=`ls $HOME/data/*log.txt` rmdat $HOME/file.dat rmdat $HOME/sendemail.dat ATTACH_FILE="$(echo $ATTACH_FILE | sed 's/ /\\n/g')" export FILE=$HOME/file.dat export FILE1=$HOME/sendemail.dat echo $ATTACH_FILE >> $FILE ATT_FILES="" while read BP_fl do ATT_FILES=$ATT_FILES" uuencode $BP_fl $(basename $BP_fl) ;" done < $HOM/file.dat echo '( echo "Hi" ; ' >> $FILE1 echo $ATT_FILES >> $FILE1 echo ') | mailx -m -s " automation test email" mxxxxx@abcdefg.com ' >> $FILE1 chmod 777 $FILE1 . $FILE1 
  • Использовать сохраненный ввод для скриптов
  • / bin / sh: определение функции импорта ошибок для `module '
  • Что происходит в этой функции?
  • Как подсчитать вхождения каждого слова, принадлежащего файлу, во все количество файлов `n`, переданных в качестве аргументов?
  • Сценарий оболочки не работает, чтобы открыть LimeChat через терминал
  • скрипт для запоминания dir и всегда cd к нему вместо корневого каталога
  • Команда Shell для сохранения списка фильмов в csv
  • Как подключиться к Tar с помощью BASH?
  • shell для цикла с поиском с именами файлов, содержащими пробелы
  • Сортировка файлов с определенным расширением с измененным временем и сохранение их в массив
  • лучше несколько заменить фигурные скобки
  • Linux и Unix - лучшая ОС в мире.