Por que a primeira entrada não é executada?
* * * * * cat <(date) >>~/output1.txt
* * * * * echo $(date) >>~/output2.txt
Data atual esperada em output1.txt e output2.txt. Só obtive output2.txt.
A segunda entrada com substituição de comando funciona. Por que não a entrada com substituição de processos?
crontab -n
não relata nenhum erro de sintaxe.
A substituição de processo é um recurso específico do Bash, portanto requer que o Bash seja executado.
cron
tradicionalmente usash
.(Não funciona mesmo quando
sh
isbash
, pois a substituição do processo está desabilitada no modo de compatibilidade do bash)Para evitar o problema deste e de outros comportamentos surpreendentes do crontab (como a interpretação de sinais de porcentagem), coloque seus comandos em um arquivo de script com o shebang adequado e faça com que seu crontab o invoque.