わかりました
export LD_LIBRARY_PATH=xxxxx
カーネルはこのパスからターゲットライブラリを検索します。
しかし、なぜそれを次のように割り当てますか?':'
export LD_LIBRARY_PATH=:
それは何をしますか? .soが現在のパスにある場合は有効です。
しかし、パスを区切るときに「;」を書く必要はありませんか? ?
前任者:
export LD_LIBRARY_PATH=foo1;foo2
答え1
LD_LIBRARY_PATH は、カーネルではなく動的リンカーで使用されます。動的リンカーの名前はさまざまですが、/lib64/ld-linux-x86-64.so.2 と似ています。
によって記録されますman ld.so
。私のシステムでは、次のように言います。
LD_LIBRARY_PATH
A list of directories in which to search for ELF libraries at execution
time. The items in the list are separated by either colons or
semicolons, and there is no support for escaping either separator.
コロンを使用することの小さな利点は、;
シェル特殊文字なので、引用符が必要ないことです。また、PATH変数の値にコロンを使用することもできます。
その理由は、LD_LIBRARY_PATH=:
より良い本やガイドを入手することをお勧めします。