настройка переменной среды в solaris crontab

#shell #solaris #crontab

#оболочка #solaris #cron

Вопрос:

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

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

Ответ №1:

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

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

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

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

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

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

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

Ответ №2:

 * * * * * FOO=BAR your-command
  

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