Les commandes exécutées par at ne s'exécutent pas dans le terminal où elles ont été enregistrées. Cela n'aurait aucun sens en général: le terminal pourrait ne plus exister, ou il pourrait être utilisé par un autre utilisateur. Vous pouvez même vous être déconnecté au moment de l'exécution de la commande.
La sortie d'une commande at vous est envoyée par e-mail. Il s'agit de la messagerie Unix locale, et non du compte POP ou IMAP externe que vous avez configuré dans un programme de messagerie. Si votre e-mail local n'est pas configuré, la sortie de la commande est perdue. Si votre e-mail local n'est pas configuré, ce guide peut vous aider.
Si vous souhaitez qu'une commande at interagisse avec votre terminal, vous devez utiliser une redirection explicite. Par exemple:
echo "echo hello >$TTY" | at now + 1 min
Notez que dans cet extrait, la variable TTY
est développée par le shell, donc l'entrée à at
est quelque chose comme echo hello >/dev/pts/42
.
Gilles 'SO- arrête d'être méchant'
la source