Skip to content

Instantly share code, notes, and snippets.

@hell0again
Created February 20, 2015 01:59

Revisions

  1. hell0again created this gist Feb 20, 2015.
    33 changes: 33 additions & 0 deletions gistfile1.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,33 @@
    ## 指定した名前の変数の値を得る
    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