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/bashno 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' .