我想检测平台何时提供LD_LIBRARY_PATH
从任意位置加载库的功能。该应用程序是一个轻量级的shell脚本,所以我正在寻找一种不需要编译、链接和运行程序的方法。
我试图避免编译假程序和假共享对象,然后尝试运行它们。我也试图避免像test "$IS_LINUX_OS"
和 之类的测试test "$IS_SOLARIS_OS"
,但如果有必要的话我会回到它。
我对 Open Group 站点进行了搜索,但没有找到 Posix 相关路径函数或环境的命中结果。
是否有快速且便携的测试来确定平台是否支持LD_LIBRARY_PATH
?
答案1
我不知道这些系统不支持 LD_LIBRARY_PATH,但您可以非常快速地检测到 GNU libc 加载器中该符号的存在
grep LD_LIBRARY_PATH /lib/ld-*.so*
(该 .so 文件负责读取 LD_LIBRARY_PATH 并加载程序所需的其余库)