如果我可以寻求帮助,因为我不知道如何编写这个脚本。该脚本应该是一个整体,并且每个月检查另一个仅包含电子邮件地址的文件,使用这些地址并向每个文件发送包含另一个文件作为附件的消息。 我知道cron,但脚本必须自己修改cron文件,用户无法做到。我设法将唯一的代码组合在一起,但它根本没有完成任务。
以下是我想要的解释: 1.每月一次脚本从file1获取电子邮件地址(我们不需要担心这个文件,它存在并包含电子邮件地址) 2.该脚本为file1中列表中的每封电子邮件创建电子邮件 3.对于每个消息,脚本附加另一个文件,file2(我们不需要担心file2,它存在)所以file2将作为附件发送 4)脚本发出这些消息
目前我设法编写以下代码。它正确发送电子邮件,但负责重新安排下一次出现的部分会返回错误。我在下面提出了这些错误。
#!/bin/bash
while read line
do
printf "Sending attachement " | mail -s 'plik' -a $2 $line
done <$1
nskip=31 #co ile dni ma się uruchomić
akt_miesiac=`date +"%m"`
nowy_miesiac=`date --date='$nskip days' +"%m"`
if [[ akt_miesiac = nowy_miesiac ]]
then
((nskip+=7))
fi
date=`date --date='$nskip days' +"9:00AM"` #ustalenie nast daty
at -m $date < $0 #ustalenie nast daty
日期:错误的日期:$nskip days'
date: wrong date:
$ nskip天'
乱码时间
或者我想出了类似的东西,这也行不通:
#!/bin/bash
while read line
do
printf "Sending attachement " | mail -s 'plik' -a $2 $line
done <$1
if (date -d "%d" ==1) & (date "r" =="12:00:00")
then
date=`date --date='1 month'` #ustalenie nast daty
at -m $date < $0 #ustalenie nast daty
fi
答案 0 :(得分:0)
循环读取文件中的电子邮件地址,保存当前目标收件人和要作为变量发送的文件(也许您可以从另一个可以更新的文件中读取要发送的文件的路径,如果您喜欢),并使用mutt(&#34; man mutt&#34;)来查看语法,它还不错。