LinuxでLD_PRELOADに問題があります。アプリケーションを起動する直前に、名前にスペースが含まれるディレクトリに存在するライブラリを読み込もうとしています。
> export LD_PRELOAD='/home/myuser/MyApp\ Test/lib/mylib.so'
ただし、パスが正しく取得されていません。スペースが存在する場所で分割されるため、これらをプリロードしようとします。
ERROR: ...: object '/home/myuser/MyApp' from LD_PRELOAD cannot be preloaded: ignored
ERROR: ...: object 'Test/lib/mylib.so' from LD_PRELOAD cannot be preloaded: ignored
「MyAppTest」のスペースをすでにエスケープしています。そのようなパスを通過する正しい方法は何ですか?
編集:提案されているようにエスケープされたスペースなしでエクスポートすると、同じ結果が表示されます:
エクスポートLD_PRELOAD='/home/myuser/MyAppTest / lib / mylib.so'
同様に(引用符なし、スペースをエスケープしただけ):
LD_PRELOAD = / home / myuser / MyApp \ Test / lib/mylib.soをエクスポートします