2009-05-19 42 views
5

當我從啓動終端時啓動gvim,我可以訪問我的所有環境變量。如何從gvim中獲取環境變量

但是,如果我從菜單或從「運行應用程序」啓動程序啓動gvim,則我的所有環境變量都無法訪問。

如何在我的bashrc中訪問我的bashrc中定義的環境變量如果gvim未從終端啓動?

這些變量定義在〜/ .bashrc中

發行版:Ubuntu的無畏

注1: 「運行應用程序」 啓動器訪問通過按ALT + <F2>

+0

你如何在你的bashrc中設置這些環境變量? 也是你自己的個人〜/ .bashrc文件,或者它是/ etc/bashrc在哪裏設置這些變量? – Andy 2009-05-19 14:22:44

+0

我們可以得到更多的細節。一個你不能訪問的變量的例子($ PATH?)什麼發行版?什麼「運行應用程序」啓動器?在桌面上或在一個小程序或什麼。 – Whaledawg 2009-05-19 15:59:27

回答

7

你應該能讀取所有實際的環境變量,例如

:!echo $PATH 

你的問題是與個人環境變量。

你爲什麼要在gvim中讀取環境變量?可能有更好的做事方式。

環境變量的作用域
當您登錄到您的計算機時,bash來源.bash_profile文件。
當您運行一個終端時,它會生成.bashrc文件,因此您的個人環境變量在該終端和任何子套件中都可用。

除非您從.bashrc中導出變量,否則這些變量在常規環境中將不可用,並且只有在您導出終端後才能使用這些變量。

由於您通過應用程序啓動器運行gvim,因此沒有任何內容正在讀取您的.bashrc文件以爲您創建這些環境變量。

有關Bourne shell的環境變量一些info,見9.1.2

所以一個好的地方放:

MYENVIRONMENTVARIABLE=new value of environment variable 
export MYENVIRONMENTVARIABLE 

是.bash_profile文件中,然後如果你想使任何對變量進行更改,確保再次導出它們(並且如果希望更改是永久的,請編輯.bash_profile)。

請注意,此環境變量的值可用於任何新的shell,但現有的shell可能不會重新讀取環境變量。