web-dev-qa-db-ja.com

Bashスクリプトを使用して環境変数を設定できません

私が書いたbashスクリプトから環境変数を設定したい。そこで、bashスクリプトを作成し、set.shという名前を付けました。その内容は次のとおりです。

#!/bin/bash

export DEV_SRC="/home/m/mydata/sourecCode"
echo $DEV_SRC

このスクリプトを実行すると、出力は

/home/m/mydata/sourecCode

しかし、上記のスクリプトを実行したのと同じ端末でこのコードを実行すると、

echo $DEV_SRC

値が表示されないため、値はエクスポートされないと思います。

なぜ値がエクスポートされないのですか?

2
mans

デフォルトでは、bashは現在の環境のコピーを作成し、この環境でスクリプトを実行してから、コピーを破棄します。

current環境でスクリプトを実行するには、次の構文を使用する必要があります。

. /home/m/mydata/sourecCode
echo $DEV_SRC

または

source /home/m/mydata/sourecCode
echo $DEV_SRC
5
Ova