0

我有 KSH 脚本。

如果我使用手动运行它,./scriptname.ksh它会正常工作。

但是如果我设置了一个 crontab 作业,我会收到找不到 AQL 的错误。(AQL 类似于 SQL,但没有什么不同)。

这是我的脚本代码。

#!/usr/bin/ksh

AQL << EOF
select count(*) from <tableT>;
exit

这是 crontab -e

12 13 * * * /usr/users/somedir/dir3/dir4/scriptname.ksh > /usr/users/somedir/dir3/dir4/testz.txt 2>&1

这是 crontab 运行并输出到 testz.txt 的内容

/usr/users/somedir/dir3/dir4/scriptname.ksh: line 9: AQL: not found
4

1 回答 1

3

AQL 可能不在脚本执行环境的 PATH 中。尝试使用 AQL 的完全限定路径(例如/full/path/to/AQL)。通常,出于这个原因和安全考虑,在脚本中指定完全限定的路径是一种很好的做法。

于 2014-03-12T18:36:04.893 回答