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

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

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

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

2 ответа

man date говорит:

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

Он должен работать в любом случае, но вы в безопасности, используя date, как сообщает manpage:

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

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

1
ответ дан 18 July 2018 в 00:26

man date говорит:

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

Он должен работать в любом случае, но вы в безопасности, используя date, как сообщает manpage:

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

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

1
ответ дан 24 July 2018 в 17:13
  • 1
    Инструменты GNU довольно гибкие, когда речь идет о упорядочении аргументов и опций. Я склонен думать, что переменной DISPLAY была проблема – muru 27 December 2017 в 20:37
  • 2
    @muru Я знаю, но manpage говорит мне об этом. ; P Вы уверены, что FORMAT рассматривается как обычный вариант? В любом случае, позвольте мне изменить ... Я предположил, что DISPLAY=:0 была настоящей проблемой, поэтому я добавил рабочее решение. – dessert 27 December 2017 в 20:43
  • 3
    в хэппингах manpage всегда используется самое безопасное и простое описание. Будут ли вопросы упорядочения даны в расширенном описании, и это не имеет особого значения для +FORMAT – muru 27 December 2017 в 20:48

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

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