Você não pode alterar o shell padrão de at
, ele é codificado como /bin/sh
na origem.
O código-fonte de at
esclarece isso, de 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");
Implementação, de atd.c
:
if (execle("/bin/sh", "sh", (char *) NULL, nenvp) != 0)
A página man está em conformidade:
Comandos at e batch de leitura da entrada padrão ou de um arquivo especificado que devem ser executados posteriormente, usando / bin / sh .
Isso deixa você recompilar sua própria cópia como a única solução para atender sua necessidade.