1. ホーム
  2. linux

[解決済み] Linux: 環境変数はどこに保存されていますか?

2023-05-23 22:53:46

質問

ターミナルに入力すると

export DISPLAY=:0.0

... シェルはその環境変数をどこに保存しているのでしょうか?

私は Ubuntu 8.10 を使用しています。~/.profile と /etc/profile ファイルを見ましたが、DISPLAY の痕跡を見つけることができません。

どのように解決するのですか?

プロセスの環境変数は、実行時に存在し、何らかのファイルなどに保存されているわけではありません。それらはプロセス自身のメモリに格納されます (そこで子プロセスに渡すために発見されます)。しかし、仮想的なファイルが

/proc/

pid

/environ

このファイルは、プロセスを呼び出すときに渡されたすべての環境変数を表示します (プロセスがメモリのその部分を上書きしない限り - ほとんどのプログラムは上書きしません)。カーネルはこの仮想ファイルを通して、環境変数を見えるようにします。それを一覧することができる。例えば、プロセス 3940 の変数を見るには、次のようにします。

cat /proc/3940/environ | tr '\0' '\n'

各変数は次の変数とゼロのバイナリで区切られています。