1

私はbashシェルから次のことを行いました。

export myPath="/home/user/dir"

次に、シェルと bash スクリプト内の両方からこの値を「エコー」して、この値を確認しました。どちらもうまくいきました。

次に、このようなスクリプト内からこの変数の値を設定しようとしました。 myPath="/home/user/newdir" この変数をシェルから出力しようとしました。変数は更新された値を保持すると思っていましたが、古い値が表示されていました。

スクリプトから値を更新するにはどうすればよいですか? sourceできれば使わずにやりたいと思っています。

4

1 に答える 1

5

sourceスクリプトの終了後に変数を永続化するには、次のコマンドを使用して実行する必要があります。

スクリプトを使用sourceして実行すると、既存のシェル内で実行され、スクリプトによって作成または変更された変数は、スクリプトの完了後も引き続き使用できます。対照的に、スクリプトがファイル名と同じように実行される場合、スクリプトを実行するために(完全に別個の変数のセットを持つ)別個のサブシェルが生成されます。

于 2012-12-10T07:44:35.613 に答える