
LD_LIBRARY_PATH
プラットフォームが任意の場所からライブラリをロードする機能を提供する場合を検出したいと思います。アプリケーションは軽量シェルスクリプトなので、プログラムをコンパイル、リンク、実行する必要がない方法を探しています。
私は、偽のプログラムと偽の共有オブジェクトをコンパイルして実行するのを避けようとしています。また、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を読み込み、プログラムに必要な残りのライブラリをロードする役割を果たします。)