1、定义
Linux环境变量名,该环境变量主要用于指定查找共享库(动态链接库)时不仅默认路径之外的其他路径。(该路径在默认路径之前查找)
移植程序时的时常遇到须要使用一些特定的动态库,而这种编译好的动态库置于我们自己完善的目录里,这时可以将这种目录设置到LD_LIBRARY_PATH中。
2、示例
当执行函数动态链接.so时linux 动态库 版本信息,假若此文件不在缺省目录下‘/lib’and‘/usr/lib’.
这么就须要指定环境变量LD_LIBRARY_PATH
如果现今须要在已有的环境变量上添加新的路径名,则采用如下形式:
LD_LIBRARY_PATH=NEWDIRS:$LD_LIBRARY_PATH.(newdirs是新的路径串)
(注:GNU系统可以手动添加在/etc/ld.so.conf文件中来实现环境变量的设置)
3、设置方式
因为linux的shell版本不一样linux漏洞扫描,各个版本的句型有差别。兼容性不好。
3.1:以下是bash的设置方式。
在linux下可以用export命令来设置这个值,例如
在linux终端下输入:exportLD_LIBRARY_PATH=/opt/au1200_rm/build_tools/bin:$LD_LIBRARY_PATH:
之后再输入:export
即会显示是否设置正确
export形式在重启后失效,所以也可以用vim/etc/bashrclinux 动态库 版本信息,更改其中的LD_LIBRARY_PATH变量。
比如:LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/au1200_rm/build_tools/bin
3.2:以下是csh的设置方式
setenvLD_LIBRARY_PATH$LD_LIBRARY_PATH:/opt/au1200_rm/build_tools/bin
4、用列
#!/bin/bash
#setthepathoflibfortool
if[$SHELL="/bin/bash"];then
echo"BASH"
fi
-------------------------------------------------------------------------
#!/bin/csh
if("$SHELL"=="/bin/csh")then
setenvLD_LIBRARY_PATH${LD_LIBRARY_PATH}:./
endif
5、总结,各个版本的shell的句型有差别。不兼容。通常情况下。列:在bash上执行用csh句型写的脚本会出错。
并且有个神奇的用法:可以在bash脚本上调用并执行用csh句型写的脚本。反之linux内存管理,也可。
列:
#!/bin/bash
#setthepathoflibforgentdefdatatool
if[$SHELL="/bin/bash"];then
echo"BASH"
./.debugcsh
echo"CSHEND"
fi
#.debugcsh:是用csh句型写的脚本。