我的 .txt 文件中有 3 个文件名
我必须读取所有文件名并将它们作为邮件附件发送。
例子:
test.txt - (文件名)
-query1.dat
-query2.dat
-query3.dat
我必须读取 test.txt 文件并获取所有这些 query*.dat 文件,并使用 mailx 命令发送包含所有这些文件作为附件的邮件。
我有这个代码:
while read line
do
mailx -a ${line} -s "files" ${mail_from} << EOM
Hi, Sent files
EOM
done<test.txt
它通过单独的邮件单独发送每个文件。
我需要通过一封邮件发送所有这些文件。
怎么做?
答案1
您可以-a file
在同一次调用中附加多个mailx
。
while read pj ; do
attach+=( -a "$pj" )
done < test.txt
mailx "${attach[@]}" -s "files" ${mail_from} << EOM
Hi, Sent files
EOM
attach+=( -a "$pj")
向数组追加 2 个元素"${attach[@]}"
将数组的每个元素展开为单独的值,而不是用值中的空格分隔。