-1

次のファイルがあります

  1. build.sh

    source exportpath.sh
    
  2. exportpath.sh

    export LD_LIBRARY_PATH=/usr/local/lib/
    

しかし、このbuild.shを実行してからecho $LD_LIBRARY_PATHコマンドを実行すると、LD_LIBRARY_PATH値を取得できません。この値を に設定する方法current shell

source現在のシェルでそれを行う必要があることがわかりました。しかし、私はシェルスクリプトでそれをやりたいです。

source exportpath.sh現在のシェルで使用してLD_LIBRARY_PATHいる場合、機能していますが、これはシェルスクリプトで行う必要があります。

これどうやってするの?

4

2 に答える 2

2

子シェルで設定された環境変数を親シェルに伝達する魔法のような方法はありません。この返信を見る

たとえば、後で(または使用する)exportpath.shファイル名を取得することにより、何らかの規則を実装できます。build.shsourceeval

function両方をラップする独自のシェルが必要な場合があります。

しかし、通常、そのような変なトリックを行うべきではありません。たとえば、一部のプログラムをシェル スクリプト設定( mozillaまたは頻繁にそのようなことを行っている) にラップすることができます。LD_LIBRARY_PATHfirefox

于 2012-12-10T06:34:41.737 に答える
-4
echo $LD_LIBRARY_PATH

変数値を参照するために「$」を使用していることに注意してください。

于 2012-12-10T06:03:54.427 に答える