2

次の行のみに言及した単純なシェルスクリプトを作成しました

エクスポート LD_LIBRARY_PATH=/home/lib/

このライブラリとリンクする必要があるプログラムを1つ実行したいのですが、プログラムを実行する前にこのシェルスクリプトを実行していますが、その後プログラムが機能せず、リンクエラーが表示され、次の行を実行しているときは何も表示されません

echo $LD_LIBRARY_PATH

しかし、私がシェルで普通にやっているときは動いています。

このシェルスクリプトが機能しない理由を誰でも知ることができます.その背後にある概念は何ですか?

ありがとう

4

1 に答える 1

1

環境変数を変更する目的でスクリプトを実行する場合は、スクリプトを実行するのではなく、スクリプトを入手する必要があります。スクリプトを実行すると、シェルの新しいインスタンスが開始され、スクリプトの実行に使用されます。スクリプトが返されると、すべての環境変数が実行前の状態に戻ります。「sourcescript.sh」を実行すると、実際には現在のシェルのスクリプト内のコマンドが実行されます。

于 2012-09-25T05:28:29.513 に答える