PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : alle Variablen löschen



Mathew73
02-12-2005, 06:27
Hallo zusammen,

ich habe ein Script was je nach Benutzereingabe andere Skripte mit . aufruft, also keine Subshell. Hierdurch brauche ich kein export und alle gesetzten Variablen sind in jedem Skript verfügbar.

Nachdem er nun je nach Benutzereingabe in den verschiedenen Skripten rumgewühlt hat, soll er das Hauptscript (Start) wieder ausführen und alle Variablen die ich gesetzt haben vergessen.

Wenn ich das Hauptskript ohne . aufrufe, hat er alle zuvor gesetzten Variablen nicht übernomen (da kein export) und das Programm startet frisch. Nur bleibt der Prozess stehen, da es ja eine Subshell ist.

Somit gibt es zwei Lösungen:

1. Ich rufe das Hauptskript als Subshell auf und lösche den Mutterprozess (wenn man das so kann), dann sind alle Variablen weg.
2. im Unterskkript wo er zurück zum Hauptskript geht, sage ich ihm, er soll alle Variablen auf nie benutzt setzen und dann mit ". .hauptskript" von vorne anfangen.

Gibts da ein Befehl ala "lösche alle Variablen" ???

PS: aber keine Systemvariablen löschen.

Dankääääää

ninguno
02-12-2005, 07:36
wenn du das hauptscript mit exec aufrufst sollte es eigentlich gehen

Mathew73
02-12-2005, 08:09
super, wußte nicht das genau exec in dem Fall das beste ist, aber es klappt wunderbar. Danke.

PS: übrigens das mit dem printf klappt auch wunderbar :-)