2009-05-19 18 views
5

Quando avvio gvim da un terminale, posso accedere a tutte le variabili di ambiente.Come ottenere le variabili di ambiente dall'interno di gvim

Ma se lancio gvim da un menu o dal programma di avvio "Esegui applicazione", tutte le variabili di ambiente non sono accessibili.

Come accedere alle variabili di ambiente definite nella mia bascrc se gvim non viene avviato da un terminale?

Queste variabili sono definite in ~/.bashrc

Distro: Ubuntu Intrepid

Nota 1: avvio "applicazione Run" è accessibile premendo ALT + <F2>

+0

Come si impostano queste variabili di ambiente nel bashrc? Inoltre è il proprio file ~/.bashrc personale o è/etc/bashrc in cui si impostano queste variabili? – Andy

+0

Potremmo ottenere ulteriori dettagli. Un esempio di una variabile a cui non puoi accedere ($ PATH?) Quale distro? Quale launcher "Esegui applicazione"? Sul desktop o in un'applet o cosa. – Whaledawg

risposta

7

si dovrebbe essere in grado di leggi tutte le variabili d'ambiente attuali, ad es

:!echo $PATH 

Il tuo problema è con le variabili di ambiente personale.

Perché stai cercando di leggere le variabili di ambiente all'interno di gvim? Potrebbe esserci un modo migliore di fare le cose.

Ambito di variabili d'ambiente
quando si accede al computer, le fonti bash il file .bash_profile.
Quando si esegue un terminale, viene generato il file .bashrc, pertanto le variabili di ambiente personali sono disponibili all'interno di quel terminale e di eventuali subshell.

A meno che non si esporta le variabili dal proprio .bashrc, queste variabili non saranno disponibili nell'ambiente generale e saranno disponibili solo dopo aver eseguito un terminale se le si esporta.

Poiché si esegue gvim tramite un launcher di applicazioni, nulla sta leggendo il file .bashrc per creare tali variabili d'ambiente.

Per alcuni info su variabili d'ambiente shell Bourne, vedere la sezione 9.1.2

Quindi un buon posto per mettere:

MYENVIRONMENTVARIABLE=new value of environment variable 
export MYENVIRONMENTVARIABLE 

è all'interno del .bash_profile, e quindi se si vuole fare qualsiasi cambia la variabile, assicurati di esportarla di nuovo (e se vuoi che le modifiche siano permanenti, modifica il profilo .bash).

Si noti che il valore di questa variabile di ambiente sarà disponibile per qualsiasi nuova shell, ma le shell esistenti probabilmente non rileggeranno le variabili di ambiente.

+1

In ritardo per la festa, ma: Spostare quelle variabili d'ambiente da .bashrc a .profile potrebbe aiutare. '.profile' viene eseguito all'accesso; mentre .bashrc viene eseguito solo aprendo bash dopo il login. – jpaugh

Problemi correlati