我正在尝试使用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
答案 0 :(得分:1)
请注意这两个语句之间的区别:
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
命令的参数中的at
之后添加了“天”(感谢@User123!),
否则,at
的语法不正确。