![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() ![]()
Um in der Environment-Liste Einträge zu ändern , neue Einträge hinzufügen oder Einträge löschen stehen unter Linux/Unix die Funktionen putenv, setenv und unsetenv zur Verfügung. Hier der Syntax...
Zuerst zur Funktion putenv. putenv nimmt den String eintrag, den sie in Form von name=wert (z.B. : PATH=/home/bla/bla....) eingeben müssen, und trägt diesen in die Environment - Liste ein. Ist dieser name bereits vorhanden wird dieser zuvor noch aus der Liste entfernt. Der Rückgabewert der Funktion ist 0 wenn alles Ok ging ansonsten ungleich 0. Hier ein Beispiel .....
Mit diesem kleinem Programm schreiben wir in die Environment - Liste unseren Newsserver. In dem Fall ist es der von T-Online. Kommen wir zur 2. und wie ich finde besseren Möglichkeit in die Environment - Liste einen Eintrag zu machen.
setenv : Mit setenv machen sie in der Environment - Liste ebenfalls einen Eintrag mit name=wert. Dieses mal aber wird der Name nur überschrieben wenn die Variable overwrite in setenv einen Wert ungleich 0 hat. Wenn sie jetzt z.B. eingeben...
...wird, falls bereits ein NNTPSERVER vorhanden ist, dieser nicht überschrieben da wir als 3. Parameter in setenv eine 0 angegeben haben. Sollten sie den alten Newsserver einfach überschreiben wollen so brauchen sie nur einen Wert ungleich 0 anzugeben. Aber dafür haben wir ja die Funktion putenv(..). Hierzu nun ein kleines Beispiel...
Dazu muss ich noch anmerken das auch wenn bereits ein Newsserver vorhanden ist und nicht in diesem geschrieben wird, das dies nicht als Fehler gewertet wird. Als letztes bleibt uns noch unsetenv.
In diesem Fall wird der von uns (falls) eingetragenen Wert "news.btx.dtag.de" gelöscht. Auch hier kommt keine Fehlermeldung falls es keinen zu löschenden Wert gibt.
Jetzt erfolgt erfolgt ein...
....am Anfang der Zeile. Geben sie jetzt folgendes ein...
Machen sie ich über die Zeile system(..) noch nicht allzu viel Gedanken. Wir kommen in dem nächsten Kapitel dazu. Übersetzten sie jetzt das Programm das sich Verzeichnis /tmp befindet mit...
Starten sie nun das Programm mit....
Jetzt befinden sich sich im Eingabeprompt der Shell (system("/bin/sh")) ....
Jetzt wollen wir testen ob sich was in dem Eintrag NNTPSERVER etwas geändert hat...
Jetzt müsste auf Ihrem Bildschirm stehen....
Normalerweise müsst jetzt alles funktioniert haben. Geben sie um die Shell wieder zu verlassen exit ein. ![]() ![]() ![]() |