LoginSignup
3
4

More than 5 years have passed since last update.

シェルスクリプトで環境変数の一覧を取得する

Posted at

環境変数の一覧が必要になったのでやり方を調べてみました。

結論

以下のコマンドで一覧を取得できます。

$ env -0 | tr '\r\n' ' ' | sed 's/\x0/\n/g' | sed 's/=.*//'

補足

env コマンドは以下のような形式で環境変数の一覧を出力します。

A=foo
B=bar
C='hoge
hoge'
...

ここから変数名だけ抜き出したいわけですが、上のC=のように値が複数行になる場合があります。
これをそのままsedで処理するのは難しいので、-0オプションをつけて出力をNull文字区切りにします。
trで改行を適当に置き換えてからNull文字を改行に置き換えれば値部分の改行だけ除去できるので、あとは=から行末まで消して終了です。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4