我有一个运行genReport.sh的shell脚本,用于创建.pdf格式的报告,当它从命令行运行时,它运行得很好。该报告的数据源是ClearQuest数据库。
当从CRON作业运行时,会创建.pdf文件,但只显示各种报告和列标题,并且缺少报告的数据。在执行脚本期间,没有向STDERR报告错误。
这对我来说是“环境变量”。
目前,shell脚本定义了以下内容:
CQ_HOME
BIRT_HOME
ODBCINI
ODBCINST
LD_LIBRARY_PATH
如果这是环境问题,我错过了环境的哪一部分?
答案 0 :(得分:0)
没有看到脚本,这只是猜测。它可能是引用问题或与文件或可执行文件的相对路径有关的事情应该是绝对的。通常,问题是$PATH
中列出的目录在cron的环境中与在用户中的目录不同。您可以做的一件事就是帮助诊断:将这一行添加到您的脚本中:
env > /tmp/someoutputfilename.$$
并从命令行和cron
运行脚本并进行比较。
答案 1 :(得分:0)
这次运行的神奇之处在于评估了 clearquest -dumpsh 命令的输出,而这又要求设置TZ变量。该命令输出十几个变量。