Phillinger
Member
Hi,
ich möchte zur Laufzeit meines C-Programms eine Umgebungsvariable auslesen und diese auch von der Kommandozeile aus verändern können. Beispielprogramm:
Auf der Konsole tippe nun
und schon gibt er mir brav alle 3 Sekunden "Verbose-Level: 1" aus. Wenn ich nun aber auf der Konsole VERBOSE mit einem erneuten export VERBOSE="2" verändere, so ist ihm das egal, für ihn gilt VERBOSE zum Zeitpunkt des Programmstarts, bzw. die Kopie davon.
Wie kann ich es erreichen, daß mein Programm die aktuelle Umgebungsvariable ausliest?
ich möchte zur Laufzeit meines C-Programms eine Umgebungsvariable auslesen und diese auch von der Kommandozeile aus verändern können. Beispielprogramm:
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char chEnv[4] = "";
while((strcmp(chEnv, "kill")) != 0)
{
// erase former content of string
sprintf(chEnv,"\0");
sprintf(chEnv,"%s",getenv("VERBOSE"));
printf("Verbose-Level: %s\n", chEnv);
sleep(3);
}
return 0;
}
Auf der Konsole tippe nun
Code:
export VERBOSE="1"
./meinProgramm &
Wie kann ich es erreichen, daß mein Programm die aktuelle Umgebungsvariable ausliest?