Прикрепить файлы для отправки почты, которые являются результатом набора команды 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 
  • автоматически загружать сценарии оболочки из / usr / bin
  • / bin / cat: слишком длинный список аргументов
  • Попытка выяснить скрипт Linux
  • Восстановленные удаленные файлы на Mac по командной строке
  • Почему этот скрипт дает ошибку?
  • Найти и заменить все те же файлы между 2 каталогами
  • устанавливая переменные внутри подоболочки при использовании <<
  • Разбиение файла на две части на основе определенной строки
  • Как показать конкретные строки из определенных столбцов файла
  • Как я могу упростить этот сценарий bash, который печатает количество файлов в рабочем каталоге?
  • Условная grepping
  • `tee` для команд
  • Linux и Unix - лучшая ОС в мире.