我想将一个png列表附加到一封带有mutt的电子邮件中,所以我这样做了
attachment=""
for png in $(ls *.png); do attachment="$attachment -a $png"; done
mutt $attachment
获取此命令mutt -a pic1.png -a pic2.png -a pic3.png
。关于如何做到这一点的任何更好的想法?
答案 0 :(得分:1)
您可以使用BASH数组:
arr=(*.png)
printf " -a %s" "${arr[@]}";
答案 1 :(得分:0)
由于mutt
将接受命令:
mutt -apic1.png -apic2.png -apic3.png
(-a
和文件名之间没有空格),一个很好的可能性如下:
shopt -s nullglob
files=( *.png )
mutt "${files[@]/#/-a}"
shopt -s nullglob
以便不匹配的glob扩展为空。
"${files[@]/#/-a}"
的扩展与"${files[@]}"
的扩展类似,但每个字段都附加-a
。
如果您的文件名包含空格或其他有趣的符号,则100%安全。