84

端末に入力すると、

export DISPLAY=:0.0

...その環境変数を格納しているシェルはどこですか?

Ubuntu 8.10 を使用しています。ファイル ~/.profile および /etc/profile を調べましたが、DISPLAY の痕跡は見つかりません。

4

7 に答える 7

119

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

/proc/ pid /environ

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

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

各変数は、次の変数からバイナリ ゼロで区切られます。tr はゼロを改行に置き換えます。

于 2009-02-10T13:17:12.780 に答える
41

「set」と入力すると、現在のすべての変数のリストが表示されます。何かを持続させたい場合は、~/.bashrc または ~/.bash_profile に入れます (bash を使用している場合)。

于 2009-02-10T12:49:55.620 に答える
11

これはプロセス (シェル) に保存され、エクスポートしたため、プロセスを処理するすべてのプロセスが生成されます。

上記を実行しても、/etc/profile などのファイルシステムのどこにも保存されません。そのためには、明示的にそこに配置する必要があります。

于 2009-02-10T12:50:38.520 に答える
-8

その変数は、一部のスクリプトに保存されていません。これは、X サーバー スクリプトによって設定されるだけです。setを使用して、現在設定されている環境変数を確認できます。

于 2009-02-10T12:50:12.377 に答える