我有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
答案 0 :(得分:3)
AQL可能不在脚本执行环境的PATH中。尝试使用AQL的完全限定路径(例如/full/path/to/AQL
)。一般而言,出于这个原因以及安全性,在脚本中指定完全限定的路径是一种很好的做法。