Variável no bash via cron?

1
#!/bin/bash

ddd=$(date +%Y-%m -d "-1 month")
xmessage  -timeout 10 $ddd

Se eu tentar este script simples, eu recebo isso para funcionar bem no terminal, mas quando eu inicio este script via cron , a variável está sempre vazia? Eu tentei muitas sintaxes diferentes, mas o resultado é o mesmo. Funciona no Terminal, mas não no cron.

    
por Peter 26.12.2017 / 13:07

1 resposta

1

man date diz:

SYNOPSIS
       date [OPTION]... [+FORMAT]

Ele deve funcionar de qualquer forma, mas você está no lado seguro usando date da maneira como a página de manual diz:

ddd=$(date -d "-1 month" +%Y-%m)

Com um script

#!/bin/bash
ddd=$(date -d "-1 month" +%Y-%m)
xmessage -timeout 10 $ddd

e a linha do cronjob

* * * * * DISPLAY=:0 /path/to/script.sh

funciona muito bem no meu sistema - veja Como iniciar um Aplicação GUI do cron? e o Cron HowTo .

    
por dessert 27.12.2017 / 16:47