установка переменной среды в crontab для Solaris - PullRequest
0 голосов
/ 13 октября 2011

Есть ли способ установить переменную окружения непосредственно в crontab на солярисе?

Я хочу, чтобы каждый скрипт в моем crontab знал определенную переменную окружения.Я хочу избежать создания сценария setupEnvironment.sh, который должен вызывать все мои сценарии.

Ответы [ 2 ]

0 голосов
/ 13 октября 2011
* * * * * FOO=BAR your-command

должен это сделать; он вызовет вашу команду с переменной окружения $FOO, установленной на "BAR". Вы должны будете сделать это для каждой команды в вашем crontab; Я не думаю, что есть способ сделать глобальную настройку.

0 голосов
/ 13 октября 2011

Да, нет проблем, т. Е.

59 23 31 12 * { var="value" ; export var ;  /path/2/myProgram "${var}" ; }  > /tmp/myProgLogFile.txt 2>&1

ИЛИ (похожая идея, когда $ {var} теперь используется как «переданный в среде» myProgram)

59 23 31 12 * { var="value" ; export var ; myProgVar="${var}" /path/2/myProgram ; }  > /tmp/myProgLogFile.txt 2>&1

Это немногопреувеличенные примеры.Ключевым моментом является то, что вам нужно экспортировать var, чтобы он был виден любым подпроцессам, запускаемым группой процессов (er) ({ ... ; }) ... (Обратите внимание, что закрывающий ';' перед закрывающим'}' является обязательным, и сообщение об ошибке, если оно отсутствует, не поможет вам разобраться ;-))

Это верно для соляриса и других unixen старых версий, где / bin / sh - этонесут оболочку (а не bash).

Надеюсь, это поможет.

...