cron
usa o shell /bin/sh
para executar tarefas. Em algumas distros, este é um link simbólico para dash
. Nenhum deles suporta a variável $RANDOM
, que é uma extensão bash
-específica.
-
Com vixie-cron, você pode colocar uma linha
SHELL=/bin/bash
no topo do seu crontab. -
Caso contrário, você terá que resolver com
bash -c 'echo $RANDOM'
ouperl -e 'print int(rand(65535))'
.(No exemplo acima, 65535 é o número máximo a ser retornado. Você também pode aplicar outras contas no script.)
-
Em um sistema configurado adequadamente, você teria sido informado sobre isso por
cron
- sempre envia a saída da tarefa, incluindo mensagens de erro, por email. Instale um MTA leve.
Além disso, no bash, $(( ))
é preferido em relação a 'expr'
.