環境変数の一覧が必要になったのでやり方を調べてみました。
結論
以下のコマンドで一覧を取得できます。
$ 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文字を改行に置き換えれば値部分の改行だけ除去できるので、あとは=
から行末まで消して終了です。