Comandos executados por no 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 logado quando o comando é executado.
A saída de um comando at é enviada para você por email. Esse e-mail local do Unix, não é qualquer conta POP ou IMAP externa que você tenha configurado em algum programa de e-mail. Se o seu email local não estiver configurado, a saída do comando será perdida. Se o seu e-mail local não estiver configurado, este guia pode ajudá-lo.
Se você quiser que um comando at interaja com o seu terminal, você precisa usar um redirecionamento explícito. Por exemplo:
echo "echo hello >$TTY" | at now + 1 min
Observe que, neste snippet, a variável TTY
é expandida pelo shell, portanto, a entrada para at
é algo como echo hello >/dev/pts/42
.