Os comandos executados em at não são executados no terminal em que foram registrados. Isso não faria sentido em geral: o terminal pode não existir mais ou pode estar em uso por um usuário diferente. Você pode até ter desconectado quando o comando é executado.
A saída de um comando at é enviada a você por email. Esse é o email local do Unix, não a conta POP ou IMAP externa que você possa ter configurado em algum programa de email. Se o seu email local não estiver configurado, a saída do comando será perdida. Se o seu email local não estiver configurado, este guia poderá ajudá-lo.
Se você deseja que um comando at interaja com seu terminal, é necessário usar um redirecionamento explícito. Por exemplo:
echo "echo hello >$TTY" | at now + 1 min
Observe que, neste trecho, a variável TTY
é expandida pelo shell; portanto, a entrada para at
é algo como echo hello >/dev/pts/42
.