現在のスクリプトのライブラリパスの設定[閉じる]

現在のスクリプトのライブラリパスの設定[閉じる]

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

スクリプトは次のとおりです。

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

答え1

スクリプトの上部付近の次の2行がトリックを実行する必要があります。

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

単一のステートメントで変数を設定およびエクスポートできますが、bashすべてのシェルがこれを行うわけではないので、懸念される場合は、2段階のアプローチがより移植性に優れています。

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

どこからでもスクリプトを実行できるようにするには、サブディレクトリへの絶対パスを使用するか、./lib次の例を使用してスクリプトパスのディレクトリ部分に相対パスを構築する必要があります。$(dirname $0)

答え2

次のようにプログラムを実行する必要があります。

LD_LIBRARY_PATH=$(pwd)/lib/ <your_executable_here>

関連情報