我正在尝试使用at命令发送邮件,但邮件是立即送达的,而不是按照at命令中提供的时间发送邮件。以下是脚本:
#!/bin/bash
TODAY=`date +%Y%m%d`
echo 'Please enter the User-Name:'
read name
echo 'No. of days access is required - number only'
read NumberofDays
echo "Root access revoked for $name" | mailx -s "root access revoked for $name on $TODAY" xyz@example.com| at now + $NumberofDays发布于 2018-12-14 13:51:09
请注意这两个语句之间的区别:
通过管道将命令的输出at
at
您展示的脚本执行第一个操作,而您希望执行第二个操作:
cat << EOF | at "now + $NumberofDays days"
echo "Root access revoked for $name" | \
mailx -s "root access revoked for $name on $TODAY" xyz@example.com
EOF我还在$NumberofDays后面添加了"days“(感谢@User123!)在at命令的参数中,否则它不是at的正确语法。
https://stackoverflow.com/questions/53773018
复制相似问题