【问题标题】:setting environment variable on solaris crontab在 solaris crontab 上设置环境变量
【发布时间】:2011-10-13 16:50:12
【问题描述】:

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

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

【问题讨论】:

    标签: shell solaris crontab


    【解决方案1】:

    是的没问题,即

    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)({ ... ; })正在启动的任何子进程可见......(请注意,关闭 ';' 在关闭之前'}' 是强制性的,如果缺少此错误消息将无法帮助您解决问题 ;-) )

    这适用于 /bin/sh 是承载 shell(而不是 bash)的 solaris 和其他旧线 unixen。

    我希望这会有所帮助。

    【讨论】:

      【解决方案2】:
      * * * * * FOO=BAR your-command
      

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

      【讨论】:

        猜你喜欢
        • 2012-10-28
        • 1970-01-01
        • 1970-01-01
        • 2012-10-08
        • 1970-01-01
        • 1970-01-01
        • 2012-10-01
        • 2023-03-13
        • 2012-03-07
        相关资源
        最近更新 更多