Le variabili d'ambiente fanno parte dell'interprete del terminale su cui sei connesso.
In particolare, e nelle odierne distribuzioni Linux, di norma viene usato bash, che ti si attiva ogni volta che apri un terminale di default (stiamo parlando di interazione a riga di comando con il kernel...).
Questi interpreti, a partire da "sh", "bash", e vi a dicendo, possiamo intenderli come meta-linguaggi, ovvero hanno funzioni e variabili come un qualsiasi altro linguaggio. E' ovvio che lo svedrai trato può essere alquanto limitato rispetto ad un linguaggio evoluto, ma ti permette di eseguire anche operazioni complesse sul sistema operativo (es. tramite uno script).
Detto questo, parlando di variabili, se tu provi da un terminale a digitare il comando "env", vedrai comparire una serie di righe, ognuna con un'etichetta seguita da un valore. Oguni etichetta è appunto una variabile di ambiente, che puoi leggere e modificare (dipendentemente dalle autorizzazioni) in modoche ogni programma o applicazione possa attingere per effettuare eventuali impostazioni procedurali.
Tanto per fare un esempio, l'etichetta LANG (o LANGUAGE), definisce la lingua usata dall'utente, e quindi condiziona le applicazioni in modo che, ad esempio, le scritte e i messaggi ti vengano presentati in Italiano (è un esempio...).
Tieni però presente che la variazione di queste variabili hanno la stessa logica di validità temporale di ogni altra variabile, ovvero sono valide fino a che il terminale è attivo, e quindi vengono perse quando si esce e si chiude il terminale stesso. Per rendere queste variabili statiche, ovvero reimpostate al valore voluto, è necessario definirle nei file di configurazione previsti per gli ambienti Linux, che vengono letti all'avvio del sistema operativo.
Detto questo, devi prima capire cosa vuoi ottenere, perchè a mio avviso l'uso di queste variabili potrebbe diventare alquanto fastidioso e immanutenibile. Io credo sia meglio lavorare con un bel file di testo...