确定平台何时提供LD_LIBRARY_PATH?

确定平台何时提供LD_LIBRARY_PATH?

我想检测平台何时提供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 并加载程序所需的其余库)

相关内容