2013-10-24 62 views
1

从croncrontab中缺少库shell脚本

error while loading shared libraries: libclntsh.so.11.1: cannot open shared object file: No such file or directory 

,当我从命令行中运行它,我不明白的错误时,运行一个脚本收到错误。

所以,我在图书馆查找命令,并发现它:

locate - /export/home/orahome/11.2/lib/libclntsh.so.11.1 

,并把它添加到脚本路径的结束,但仍得到一个错误。

#!/bin/bash 
export PATH=/opt/OV/bin/OpC:/usr/local/sqlite3.6.23.1/bin:/production/java/jdk32 /bin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/svn/bin: /orahome/current/bin:/production/ 
fo/bin:/production/fo/scr:/production/fo/tools:/export/home/orahome/11.2/lib/ 

/production/bin/userStats -c /production/cfg/userStats.cfg > /production/log/userStats.log 2>&1 

,但仍获取日志中的错误

[email protected]:> ls -ltr /production/log/userStats.log 

-RW-R - R-- 1卡斯帕卡斯帕145 10月24日16:24 /production/log/userStats.log

[email protected]:> more /production/log/userStats.log 

/production/bin/userStats: error while loading shared libraries: libclntsh.so.11.1: 
cannot open shared object file: No such file or directory 
+0

该库是否还需要lib路径集?你可以输入'env'来查看它是否出现在某处。 – lurker

回答

1

您需要将它附加到LD_LIBRARY_PATH而不是PATH

+0

那工作 - 你是怎么弄出来的 - 错误不是要求那个路径名LD_LIBRARY_PATH – capser

+0

我在库路径下面加了这个,并且它工作了:export LD_LIBRARY_PATH =/export/home/orahome/11.2/lib/ – capser

+0

'无法打开共享对象文件“意味着在/ lib64或/ usr/lib64中找不到某个共享对象(即.so文件),也不在LD_LIBRARY_PATH中定义的路径中。它扮演着PATH为可执行文件所扮演的角色。 'ldd'命令对于查找可执行文件需要哪些共享对象非常有用。 – damienfrancois