我通过一封邮件向自己发送多个文件:
file1="/somedir/file1.md"
file2="/somedir/file2.md"
file3="/somedir/file3.md"
file4="/somedir/file4.md"
echo "Body text" | mailx -s "The Files" -a "${file1}" -a "${file2}" -a "${file3}" -a "${file4}" recipient@domain.com
这些文件并不总是存在,因此如果这些附件中的任何一个不存在,则不会发送邮件。但是,无论如何我想发送邮件与附件。我可以用嵌套在其中的多个其他if语句构建一个if语句,但这看起来有点狡猾。什么是更好的方式?
答案 0 :(得分:3)
建立一个数组参数(来自候选人数组):
array(1) {
[0]=> object(stdClass)#22 (11) {
["id_kokok"]=> string(1) "3"
["id_user"]=> string(1) "2"
["kokok"]=> string(57) "Aku punya anak lho, maksudku anak ayam :v #gaadayangnanya"
["react_like"]=> NULL
["react_love"]=> NULL
["react_fun"]=> NULL
["react_meh"]=> NULL
["react_mad"]=> NULL
["react_sad"]=> NULL
["privacy"]=> string(1) "1"
["timee"]=> string(19) "2017-02-09 13:46:57"
}
}
答案 1 :(得分:0)
您可以通过过滤掉不存在的文件来动态构建-a
选项:
files_arg=
for file in /somedir/file1.md /somedir/file2.md /somedir/file3.md /somedir/file4.md ~/.bashrc; do
[[ -f $file ]] && files_arg="$files_arg -a $file"
done
echo $files_arg
输出:
-a /home/max/.bashrc