Há um arquivo chamado 0, 3, 5, 6, 7, 8 ou 9 no diretório inicial do usuário que está executando esta tarefa cron. O shell expande o parâmetro [0-9]
não indicado como sendo esse nome de arquivo (digamos que é 0
); já que não há 0
na entrada, o grep -v
"é bem-sucedido" e não imprime nada.
Quando você estava testando, você estava em um diretório diferente (um que não tinha um nome de arquivo de dígito único). Duplo (ou único) citando o parâmetro impede que o shell expanda esse glob, permitindo que grep o veja como um intervalo.