Вы не можете изменить оболочку по умолчанию at, она жестко закодирована как /bin/sh в источнике.
Исходный код at разъясняет это из at.c:
/* POSIX.2 allows the shell specified by the user's SHELL environment
variable, the login shell from the user's password database entry,
or /bin/sh to be the command interpreter that processes the at-job.
It also alows a warning diagnostic to be printed. Because of the
possible variance, we always output the diagnostic. */
fprintf(stderr, "warning: commands will be executed using /bin/sh\n");
Реализация из atd.c:
if (execle("/bin/sh", "sh", (char *) NULL, nenvp) != 0)
Соответственно соответствующая страница соответствует:
и командному считыванию со стандартного ввода или заданного файла, которые должны быть выполнены позднее, используя / bin / sh.Это дает вам возможность перекомпилировать вашу собственную копию как единственное решение для удовлетворения ваших потребностей.