我认为这个问题对于你的 shell 脚本怪物来说是相当容易的。
我正在寻找通过 bash shell 脚本创建指向 Unix 共享库的符号链接的最优雅和最短的方法。
我需要从共享库文件列表开始,例如“libmythings.so.1.1,libotherthings.so.5.11”,获取创建的符号链接,例如:
libmythings.so -> libmythings.so.1 -> libmythings.so.1.1
libotherthings.so -> libotherthings.so.5 -> libotherthings.so.5.11
库文件位于包含其他文件(例如其他 shell 脚本)的目录中。
编辑:嗯,“ldconfig -nN”。可以正常工作,但我还需要没有在“.so”之后附加库的主要编号的链接,至少是其中一个库,因为一个或多个库是来自 Java 的 JNI 调用的入口点,所以当一个库通过 System.loadlibrary("libraryname") 实例化它需要一个名为“libraryname.so”的库,而不是“libraryname.so.X”。
如果有针对 Java 部分的解决方法,那么仅使用 ldconfig -nN 的解决方案就可以工作。