• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[solved] shell skript.... Funktionen im Hintergrund starten.

fabmo

Member
Hallo,

mal wieder ne Frage.:
Ich habe ein Programm in dem immer eine Funktion aufgerufen wird. Diese macht irgendetwas und verändert dabei irgendwelche Variablen. Die in der Funktion deklarierten Variablen kann ich ausserhalb der Funktion ja aufrufen.
So alles schön und gut. wenn ich die Funktion per & in den Hintergrund verbanne, komme ich von Ausserhalb nichtmehr an die Variablen in der Funktion ran.
Selbst nicht, wenn ich mit wait auf das Ende der funmtion warte.

Gibts ne möglichkeit, wie ich trotzdem rankomme? Oder muss ich mit Rückgabewerten arbeiten?

Vielen
Dank

fabmo
 

regexer

Advanced Hacker
fabmo schrieb:
wenn ich die Funktion per & in den Hintergrund verbanne, komme ich von Ausserhalb nichtmehr an die Variablen in der Funktion ran.
Wenn man etwas mit & "in den Hintergrund verbannt" macht man damit gleichzeitig eine Kind-Shell (oder Subshell) auf. Eine Vererbung ist - wie im echten Leben - nur von Eltern auf Kind möglich und nicht umgekehrt. Eine Kind-Shell kann also die Umgebung der Eltern-Shell nicht verändern.
Gibts ne möglichkeit, wie ich trotzdem rankomme?
Mit das Einfachste ist, über eine Datei zu "kommunizieren".
 

abgdf

Guru
... diese Dinge sind es, bei der die Shell an ihre Grenzen kommt (und bei denen man dann anfängt, Perl (oder Python) zu benutzen).

Gruß
 
Oben