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,

Другие вопросы по тегам