Created
February 20, 2015 01:59
-
-
Save hell0again/121b36388e9ef849f756 to your computer and use it in GitHub Desktop.
source実行時の環境変数をカレントシェルにexport奴
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## 指定した名前の変数の値を得る | |
value_of() { | |
name=$1 | |
eval echo "\${${name}}" | |
} | |
## 変数が定義済みかチェックする | |
## source内でexitするとシェルごとexitするよ | |
is_defined() { | |
name=$1 | |
#value=$( eval echo "\${${name}}" ) | |
value=$(value_of ${name}) | |
if [ "${value}" = "" ]; then | |
echo "[ERROR] \${${name}} undefined" | |
return 1; | |
else | |
return 0; | |
fi | |
} | |
## 変数をexportしなおす。 | |
## source実行時に渡した環境変数をexportしてシェル内で有効にするときに | |
reexport() { | |
name=$1 | |
value=$2 | |
eval "unset ${name}" | |
echo "export ${name}=${value}" | |
eval "export ${name}=${value}" | |
} | |
v="WITH_ENV" | |
is_defined ${v} && reexport ${v} $(value_of ${v}) || return |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment