如何在gvim中获取环境变量

5
当我在终端内启动gvim时,我可以访问所有环境变量。
但是如果我从菜单或“运行应用程序”启动器中启动gvim,则无法访问所有环境变量。
如果不是从终端启动gvim,我该如何访问在我的bashrc中定义的环境变量?
这些变量定义在~/.bashrc中。
发行版:Ubuntu Intrepid
注1:通过按ALT+可以访问“运行应用程序”启动器。

你是如何在bashrc中设置这些环境变量的? 另外,你是在个人的~/.bashrc文件中设置还是在/etc/bashrc中设置这些变量? - Andy
能否提供更多细节?例如,您无法访问的变量是什么($PATH?)使用的是哪个发行版?“运行应用程序”启动器是什么?在桌面上还是在小程序中或其他位置? - Whaledawg
1个回答

7

您应该能够读取所有实际环境变量,例如:

:!echo $PATH

你的问题与个人环境变量有关。

为什么你要在gvim中读取环境变量?可能有更好的方法。

环境变量范围
当你登录计算机时,bash会源化.bash_profile文件。
当你运行终端时,它会源化.bashrc文件,所以你的个人环境变量在该终端和任何子shell中都可用。

除非你从.bashrc导出这些变量,否则这些变量在一般环境中不可用,并且只有在你导出它们后运行终端才可用。

由于你通过应用程序启动器运行gvim,没有任何东西读取你的.bashrc文件来为你创建这些环境变量。

关于 Bourne shell 环境变量的一些信息,请参见第9.1.2节。

因此,放置这些变量的好地方是:

MYENVIRONMENTVARIABLE=new value of environment variable
export MYENVIRONMENTVARIABLE

该变量在.bash_profile文件中,如果您想对变量进行任何更改,请确保再次导出它们(如果您希望更改永久生效,则编辑.bash_profile)。

请注意,此环境变量的值将对任何新shell可用,但现有的shell可能不会重新读取环境变量。


1
虽然有点晚,但是:将那些环境变量从.bashrc移动到.profile可能会有所帮助。.profile在登录时执行;而.bashrc仅在登录后打开bash时执行。 - jpaugh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接