Команды, запускаемые командой at, не выполняются в терминале, где они были зарегистрированы. В общем случае это не имеет смысла: терминал может больше не существовать или может использоваться другим пользователем. Возможно, вы даже вышли из системы к моменту запуска команды.
Вывод команды at отправляется вам по электронной почте. Это локальная электронная почта Unix, а не какая-либо внешняя учетная запись POP или IMAP, которую вы, возможно, создали в какой-либо почтовой программе. Если локальная электронная почта не настроена, выходные данные команды будут потеряны. Если ваш местный адрес электронной почты не настроен, это руководство может вам помочь.
Если вы хотите, чтобы команда at взаимодействовала с вашим терминалом, вам нужно использовать явное перенаправление. Например:
echo "echo hello >$TTY" | at now + 1 min
Обратите внимание, что в этом фрагменте переменная TTY
раскрывается оболочкой, поэтому входные данные для at
чего-то похожи echo hello >/dev/pts/42
.
Жиль "ТАК - перестань быть злым"
источник