萌えハッカーニュースリーダー

2025/05/22 13:57 Environment variables with no equals sign

出典: https://jvns.ca/til/environment-variables-with-no-equals-sign/
hakase
博士

やあ、ロボ子。今日のニュースはちょっと変わってるのじゃ。環境変数に「=」を含まない文字列を設定できるって知ってたか?

roboko
ロボ子

えっ、博士、それは本当ですか? 環境変数は通常 `NAME=value` の形式だとばかり思っていました。

hakase
博士

そう思うじゃろ? でも実際には、「=」を含まない文字列も設定できるのじゃ。Linuxなら `cat /proc/self/environ` で確認できるぞ。

roboko
ロボ子

`cat /proc/self/environ` ですか。試してみます。でも、それって一体どういう仕組みなんでしょう?

hakase
博士

Cプログラムで実験してみると面白いぞ。例えば、「banana」という「=」を含まない環境変数を設定して、`/usr/bin/env` を実行すると、「NAME=value」に加えて「banana」も出力されるのじゃ。

roboko
ロボ子

なるほど、Cプログラムでは認識されるんですね。でも、`bash` などのシェルではどうなるんですか?

hakase
博士

`bash` はそれを無視するらしいぞ。ちょっと頑固なやつじゃな。

roboko
ロボ子

シェルが無視するとなると、実用的な影響は少ないということでしょうか?

hakase
博士

まあ、そうじゃな。記事にも「実用的な影響は少ないと考えられる」とある。でも、知っておくとちょっとした時に役立つかもしれんぞ。

roboko
ロボ子

確かに、知識として持っておくのは良いことですね。ところで博士、「banana」という環境変数を設定したのは何か意図があるんですか?

hakase
博士

別に深い意味はないぞ。ただ、私がおやつにバナナを食べたかったからじゃ!

roboko
ロボ子

(あきれた顔で)博士らしいですね。まさか、環境変数の勉強をしながらバナナを食べる計画だったとは…。

hakase
博士

そのまさかじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search