2009-05-19 9 views
5

Po uruchomieniu gvim z terminalu, mam dostęp do wszystkich zmiennych środowiskowych.Jak uzyskać zmienne środowiskowe z gvim

Ale jeśli uruchomię gvim z menu lub z programu uruchamiającego "Uruchom aplikację", wszystkie moje zmienne środowiskowe są niedostępne.

Jak uzyskać dostęp do zmiennych środowiskowych zdefiniowanych w moim bashrc, jeśli gvim nie jest uruchamiany z terminala?

Zmienne te są zdefiniowane w ~/.bashrc

Distro: Ubuntu Intrepid

Note1: the "Uruchom aplikację" wyrzutnia jest dostępny poprzez wciśnięcie Alt + <F2>

+0

W jaki sposób ustawiasz te zmienne środowiskowe w swoim bashrc? Czy jest to również twój osobisty plik ~/.bashrc, czy jest to/etc/bashrc gdzie ustawiasz te zmienne? – Andy

+0

Czy możemy uzyskać więcej szczegółów. Przykład zmiennej, do której nie masz dostępu ($ PATH?) Jaki distro? Co uruchamia program "Uruchom aplikację"? Na pulpicie lub w aplecie lub innym. – Whaledawg

Odpowiedz

7

Powinieneś być w stanie przeczytaj wszystkie rzeczywiste zmienne środowiskowe, np

:!echo $PATH 

Twój problem dotyczy zmiennych środowiska osobistego.

Dlaczego próbujesz odczytać zmienne środowiskowe w gvim? Może istnieć lepszy sposób robienia rzeczy.

Zakres zmiennych środowiskowych
Po zalogowaniu się do komputera, źródła bash pliku .bash_profile.
Po uruchomieniu terminala źródłowy plik .bashrc, więc twoje osobiste zmienne środowiskowe są dostępne w tym terminalu i dowolnych podpowłokach.

Jeśli nie eksportujesz zmiennych z pliku .bashrc, zmienne te nie będą dostępne w środowisku ogólnym i będą dostępne dopiero po uruchomieniu terminala, jeśli je wyeksportujesz.

Ponieważ używasz programu gvim za pomocą programu uruchamiającego aplikacje, nic nie czyta Twojego pliku .bashrc, aby utworzyć dla ciebie te zmienne środowiskowe.

Dla niektórych info na Bourne shell zmiennych środowiskowych, patrz punkt 9.1.2

Więc to dobre miejsce, aby umieścić:

MYENVIRONMENTVARIABLE=new value of environment variable 
export MYENVIRONMENTVARIABLE 

jest w bash_profile, a następnie, jeśli chcesz, aby każdy zmiany w zmiennej, upewnij się, że wyeksportowałeś je ponownie (a jeśli chcesz, aby zmiany były trwałe, edytuj .bash_profile).

Należy zauważyć, że wartość tej zmiennej środowiskowej będzie dostępna dla każdej nowej powłoki, ale istniejące powłoki prawdopodobnie nie będą mogły ponownie odczytać zmiennych środowiskowych.

+1

Późno na imprezę, ale: Przeniesienie tych zmiennych środowiskowych z .bashrc do .profile może pomóc. '.profile' jest wykonywane podczas logowania; podczas .bashrc jest uruchamiany tylko podczas otwierania bash po zalogowaniu. – jpaugh