web-dev-qa-db-ja.com

現在のスクリプトのライブラリパスを設定する

実行中の現在のスクリプトのライブラリパスを設定するにはどうすればよいですか?つまり、ライブラリの新しいパスをテキストファイルにリストしたくないのです。 export LD_LIBRARY_PATH=$(pwd)/lib/を使ってみました

これはスクリプトです:

#!/bin/bash
LD_LIBRARY_PATH="$(pwd)/lib/"
export LD_LIBRARY_PATH
./X3TC_config
1
nifker

スクリプトでは、先頭に近い次の2行でうまくいくはずです。

_LD_LIBRARY_PATH="$(pwd)/lib"
export LD_LIBRARY_PATH
_

bashを使用すると、1つのステートメントで変数を設定およびエクスポートできますが、すべてのシェルがそうするわけではないため、2ステップのアプローチは、懸念がある場合により移植性があります。

これが機能しない場合は、適切な場所からスクリプトを実行していることを確認してください。このように$(pwd)を使用すると、必要な_./lib_サブディレクトリを含むディレクトリからスクリプトを実行できます。

スクリプトをどこからでも実行できるようにする場合は、_./lib_サブディレクトリへの絶対パスを使用するか、または$(dirname $0)

4
D_Bye

この方法でプログラムを実行する必要があります。

LD_LIBRARY_PATH=$(pwd)/lib/ <your_executable_here>
1
Romeo Ninov