LinuxでLD_PRELOADに問題があります。私は、右の自分のアプリケーションを起動する前に、名前にスペースを含むディレクトリ内の既存のライブラリをロードしようとしている: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
私はすでに「MyApp Test」のスペースをエスケープしています。そのようなパスを渡す正しい方法は何ですか?
編集:提案されているようにエスケープスペースなしに輸出し、同じ結果をレンダリング:
輸出LD_PRELOAD = '/ホーム/ myuserの/ MyAppのテスト/ libに/ mylib.so'
として、
:ウェル(引用符なし、ただエスケープスペース)など輸出LD_PRELOAD = /ホーム/ myuserの/ MyAppに\テスト/ libに/ mylib.so
試してください: '輸出LD_PRELOAD = '/ホーム/ myuserの/ MyAppのテスト/ libに/ mylib.so'' – cnicutar
私はバックスラッシュなしで試してみましたが、それは同じ問題を抱えています。ライブラリパスは2つに分割されています – Dan