シェルスクリプト内で export した環境変数を反映させる

Mac の zsh でシェルスクリプト内で export AAA=BBB した結果が、環境変数に設定されないので困ってた。

test.sh

USR=`id -u -n`
echo $USR
export MYUSER=$USR

現在のユーザー名を id -u -n で取得して、MYUSER という環境変数に設定する。

実行

# chmod 777 ./test.sh
./test.sh

が、export で環境変数を確認しても設定されていない(MYUSER がない)。

source を使う必要があった

# chmod 777 ./test.sh
source ./test.sh

export で確認すると MYUSER=oreda と設定されていることがわかる。

参照