如果可能,我希望将单个电子邮件发送到bash数组中定义的用户列表,其中包含bash数组中包含的文件列表。
EMAILS=(email1@email.com email2@email.com)
FILES=(picture1.png picture2.png)
echo "$(date)" | mailx -s "Snapshot for $(date)" ${EMAILS[@]}
我做到了这一点,但我仍然坚持如何将附件附加到电子邮件中。我知道您应该使用-A "PATH_TO_FILE"
,但我不知道如何扩展数组,以便-A
以每个文件名为前缀。
目前使用Ubuntu 14.04 LTS,bash版本4.3.11
答案 0 :(得分:1)
从命令替换和printf
获取帮助:
$ FILES=(picture1.png picture2.png)
$ echo $(printf -- '-A %s ' "${FILES[@]}")
-A picture1.png -A picture2.png
所以你需要:
echo "$(date)" | mailx -s "Snapshot for $(date)" $(printf -- '-A %s ' "${FILES[@]}") "${EMAILS[@]}"