在solaris crontab上设置环境变量

时间:2011-10-13 16:50:13

标签: shell solaris crontab

有没有办法直接在solaris上的crontab中设置环境变量?

我想要的行为是我的crontab中的每个脚本都知道一个特定的环境变量。我想避免创建一个我所有脚本都必须调用的setupEnvironment.sh脚本。

2 个答案:

答案 0 :(得分:0)

是没问题,即

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

OR(与$ {var}类似的想法现在被用于'myProgram的'环境')

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

这些是一些夸张的例子。关键点是您需要导出var才能对进程组(呃)({ ... ; })正在启动的任何子进程可见...(注意关闭';'之前结束'}'是强制性的,如果缺少这个错误消息将无法帮助你弄明白;-))

对于solaris和其他旧行unixen来说都是如此,其中/ bin / sh是承载的shell(而不是bash)。

我希望这会有所帮助。

答案 1 :(得分:0)

* * * * * FOO=BAR your-command

应该这样做;它将调用您的命令,并将环境变量$FOO设置为"BAR"。您必须为crontab中的每个命令执行此操作;我认为没有办法进行全球设置。