Shell-Script
附加用於發送郵件的文件,這些文件是 find 命令的結果集
通過使用
find
命令,我得到了多個文件。現在我想將所有這些文件添加為郵件附件。如何將這些文件作為附件添加到單個郵件中?我想在腳本中實現它。我是否需要使用 for 循環並將文件儲存在數組變數中?
EX:我通過以下方式獲得了 3 個文件結果
find . -type f -name "sum*"
結果:
sum123.pdf sum234.pdf sum453.pdf
你可以這樣做
mutt
:mutt -a $(find . -type f -name "sum*")
如果你想做非互動式的,試試
mutt -s "Subject" -a $(find . -type f -name "sum*") -- user@cats.com < /dev/null
如果
mutt
沒有安裝,這裡有一個帶有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"