sourceコマンドで環境変数が設定できない時は複数Windowで作業しているのが原因かもしれない

環境変数が出力されずにハマった

私はいつもTerminalを使う時は複数のWindowもしくはTabを開いて作業しているのですが
一方で変更した設定が一方では反映されないとことがあったので自分用にメモ

sourceコマンドが何をしているのかをあまり理解していなかったのが原因

source ~/.bash_profile としても環境変数が設定されない

スクショの字が小さいので見えづらい方はクリックして拡大してください すいません

f:id:travelhacks:20180204020204p:plain

普段はこんな感じで複数Windowを開きながら作業しています

f:id:travelhacks:20180204015918p:plain

一方で bash_profileに環境変数を書き足します
vi ~/.bash_profile の後に

export TEST=test  

と書き足して

source ~/.bash_profile

これでsourceコマンドによってbash_profileに書き加えられた変更が反映されて

echo $TEST
test

となります

f:id:travelhacks:20180204020616p:plain

ここでもう一方のWindowで環境変数を呼び出してみると

「あれっ!」

環境変数が出ない

f:id:travelhacks:20180204020620p:plain

これで環境変数が呼び出せました


Terminal起動時にbash_profileを読み込んでいるってことなのかな

Terminalごとに環境変数を持っていて、一方では更新されてももう一方ではsourceをしないと反映されないってことでいいんだろうか