Mailx с командой
Я пытаюсь отправить письмо с командой 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
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
(спасибо User123!) в at
аргументы команды, в противном случае это неправильный синтаксис для at
,