challenge 環境変数の取得

コマンドライン引数の取得がありましたが、今回は環境変数の取得をお願いします。

取得した内容を表示できればよいですが、可能でしたらキーから値を得る手段の実装もお願いします。

Posted feedbacks - Bash

bashで、exportされてないシェル変数を避けて環境変数の一覧を表示する方法には「printenv」「env」「export -p」があります。このうちexportはbash内蔵コマンドです。

特定のキーから環境変数の値を得るには、printenvに環境変数名を与えます。

蛇足として、内蔵コマンドだけで「printenv 変数名」相当のことをするコマンド(関数)を定義してみます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
# 環境変数一覧は以下のどれかで
printenv
env
export -p

# キーから値を得るには、printenvで
prinetnv 'HOME'

# printenvは外部コマンドだからという方には、pure bashで
myprintenv1() {
    local name=$1
    local a b str
    export -p | while read a b str;do
        if [ ${str%%=*} = "$name" ];then
            str=${str#*=\"}
            echo ${str%\"}
            break
        fi
    done
}

Index

Feed

Other

Link

Pathtraq

loading...