linux path永久生效




Linux:環境變量存儲在哪裡? (4)

如果我輸入終端,

export DISPLAY=:0.0

...存儲該環境變量的shell在哪裡?

我使用的是Ubuntu 8.10。 我查看了〜/ .profile和/ etc / profile文件,並且沒有找到DISPLAY的踪跡。


它存儲在進程(shell)中,並且由於已經導出它,所有處理都會生成。

執行上述操作不會將其存儲在文件系統中的任何位置,如/ etc / profile。 你必須明確地表明這一點。


該變量不存儲在某個腳本中。 它只是由X服務器腳本設置的。 您可以使用set檢查當前設置的環境變量。


如果要將環境用於系統範圍的使用,可以使用/etc/environment文件來完成。


進程的環境變量存在於運行時,並不存儲在某些文件中。 它們存儲在進程自己的內存中(這是它們被發現傳遞給孩子的地方)。 但是有一個虛擬文件

/proc/pid/environ

該文件顯示調用進程時傳遞的所有環境變量(除非該進程覆蓋了其部分內存 - 大多數程序不會)。 內核通過該虛擬文件使其可見。 可以列出它們。 例如,要查看過程3940的變量,可以這樣做

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

每個變量由下一個二進制零分隔。 tr將零代換成換行符。





environment-variables