at
lê os comandos da entrada padrão. O que você está fazendo é executar ./tests.o
e alimentar sua (s) saída (s) seqüência (s) como comando (s) para at
para agendar. Além disso, não há necessidade do &
, já que at
retorna imediatamente.
O que você precisa é:
echo ./tests.o | at 15:00
ou:
at 15:00 <<< ./tests.o
Você precisará usar aspas se quiser que o comando agendado use o redirecionamento ou outras funções do shell, por exemplo:
at 15:00 <<< './tests.o > tests.log'