有没有办法直接在solaris上的crontab中设置环境变量?
我想要的行为是我的crontab中的每个脚本都知道一个特定的环境变量。我想避免创建一个我所有脚本都必须调用的setupEnvironment.sh脚本。
答案 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中的每个命令执行此操作;我认为没有办法进行全球设置。