Переменная в bash через cron?

#!/bin/bash

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

Если я попробую этот простой скрипт, я получу, что он отлично работает из терминала, но когда я запускаю этот скрипт через cron, переменная всегда пуста? Я пробовал много разных синтаксисов, но результат тот же. Работает в терминале, но не в cron.

1
задан 26 December 2017 в 15:08

1 ответ

man date говорит:

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

Это должно работать в любом случае, но вы на безопасной стороне, используя date, как говорит вам man-страница:

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

С помощью скрипта

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

и строки cronjob

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

он очень хорошо работает в моей системе - см. Как запустить приложение с графическим интерфейсом из cron? и Cron HowTo .

1
ответ дан 26 December 2017 в 15:08

Другие вопросы по тегам:

Похожие вопросы: