[linux] Re: awk-vraagje: hoe een environment variable in een variabele steken?

Paul Slootman paul+nospam op wurtel.net
Vr Okt 28 00:53:15 CEST 2005


On Thu 27 Oct 2005, Johan Wevers wrote:
> Bram Mertens wrote:
> 
> >Bovendien ben ik er nog niet zeker van dat we dan het probleem opgelost 
> >hebben want het is de bedoeling om (o.a.) deze variabele mee te geven 
> >als parameter aan een C-programmaatje via "system( C-progje home ... )".
> 
> Heb je de source van dat C programma? Want dan kun je die variabele beter
> opvragen via getenv() in C.

Inderdaad.

En anders wordt die system() aanroep zoiets:
    system("C-progje $HOME ...")
want system() gebruikt gewoon de shell, althans zeker in C en in perl
(als er shell meta-chars in het spel zijn, en $ is zo'n ding).


> Overigens, is je probleem niet dat je met #!/bin/sh een nieuwe shell
> opstart waarin misschien $HOME niet gedefinieerd is?

eh...
Het leuke van de environment is dat ie er dus gewoon altijd is en
meegegeven wordt onafhankelijk van wat er gestart wordt, tenzij je veel
moeite doet om die environment eerst leeg te halen (denk b.v.  aan sudo)
of als je expliciet via b.v.  execve() een nieuwe environment start.


Paul Slootman



More information about the Linux mailing list