![現在のスクリプトのライブラリパスの設定[閉じる]](https://linux33.com/image/64080/%E7%8F%BE%E5%9C%A8%E3%81%AE%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%AE%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%83%91%E3%82%B9%E3%81%AE%E8%A8%AD%E5%AE%9A%5B%E9%96%89%E3%81%98%E3%82%8B%5D.png)
現在実行中のスクリプトのライブラリパスをどのように設定しますか?私の言葉は、テキストファイルにライブラリの新しいパスをリストしたくないことを意味します。使ってみよう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>