Seu problema pode ser este (de man at
):
DESCRIPTION
at
andbatch
read commands from standard input or a specified file which are to be executed at a later time, using/bin/sh
.
Além disso, se você executar, por exemplo, at -f noti.sh -t 2...
, deverá enviar um aviso como este:
warning: commands will be executed using /bin/sh
job 4 at Mon May 8 13:51:00 2017
/bin/sh
no Debian é um link simbólico para /bin/dash
.
Eu acho que você testou seu script com bash
, que tem alguns recursos não definidos pelo POSIX , ou seja, eles não funcionam em dash
ou, em geral, com /bin/sh
.
No seu caso específico, os problemas são [[ ]]
e OSTYPE
, que não são compatíveis com dash
. Tente correr
$ sh noti.sh
Ele retornará o seguinte erro
noti.sh: 2: noti.sh: [[: not found
noti.sh: 4: noti.sh: [[: not found
Considerando que executar o script com bash
faz o que você deseja.
Para executar o script como você pretendia, talvez seja necessário reescrevê-lo para ser compatível com /bin/sh
( dash
no seu caso), consulte www.shellcheck.net para ajuda com isso.