首先,对不起我的英语。
我的情况是:
- 有一个 Ubuntu 18.04
- 想用 crontab python & sh 脚本执行
- 结果:/usr/lib/oracle/12.2/client64/bin/sqlplus:加载共享库时出错:libsqlplus.so:无法打开共享对象文件:没有这样的文件或目录
我要添加的变量定义如下:
export ORACLE_HOME=/usr/lib/oracle/12.2/client64
export PATH=$PATH:$ORACLE_HOME/bin
export OCI_LIB_DIR=$ORACLE_HOME/lib
export OCI_INC_DIR=/usr/include/oracle/12.2/client64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:$ORACLE_HOME
我以多种方式配置环境变量以避免此错误:
- ~/.bashrc
- ~/.profile
- /etc/环境
- 在 /etc/profile.d 中创建myvars.sh文件
问题是当我为我的用户配置变量(例如在 ~/.profile 中)并在终端上执行一个使用 SQL 连接的 python 或 sh 脚本时,结果很好并且没有给出任何错误。但是当通过crontab执行python时,日志中会出现错误:
/usr/lib/oracle/12.2/client64/bin/sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
我在其他论坛线程中阅读了~./bash_profile
用于定义环境变量但没有此文件的内容。谢谢