日期:2014-05-20  浏览次数:20860 次

在linux下,java程序调用脚本load.sh出现command not found
load.sh内容如下:
folderpath='/db2data/sqlldr/data/'
curdate=$(date +%Y%m%d)
exportpath=$folderpath$curdate
export PATH=/usr/java/jdk1.5.0_16/bin:/opt/ibm/db2/V9.1/bin:/usr/java/jdk1.5.0_16/jre/lib
echo $PATH
db2 connect to testdb user test using test
db2 load client from $exportpath/test.ixf of ixf modified by forcein messages /db2data/1.log insert into testdb.test

在root用户下手动执行load.sh成功,但是在test用户下java程序调用load.sh有的时候是成功的,但是有的时候是失败的并且提示 db2:command not found 
请问这是什么原因,或者说解决方法是什么


------解决方案--------------------
你试试把db2的完整路径加上
------解决方案--------------------
For example:
execute the following command

source /etc/profile
source /home/oracle/.bash_profile 

.bash_profile和profile就是环境变量的配置文件 这个命令能让他们生效
------解决方案--------------------
/opt/ibm/db2/V9.1
这个是db2的安装目录,那么你可以这样来启动db2命令:
/opt/ibm/db2/V9.1/bin/db2 xxxx
你可以把完整的shell脚本和java程序贴上来看看
最好把正确的输出和错误的输出也贴上来