Gibt es _einfache_ Möglichkeit um _alle- Variablen aus einer Subshell zur Verfügung zu machen? http://www.cboltz.de/de/linux/bash/ beschreibt da zwar einige Ansätze, aber vielleicht gibt es da noch etwas einfacheres? Nach meinen Recherchen sollte man einfach auf die Subshell verzichten, aber vielleicht hat da jemand doch eine Idee. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Fre, 09 Mär 2007, Al Bogner schrieb:
Gibt es _einfache_ Möglichkeit um _alle- Variablen aus einer Subshell zur Verfügung zu machen? http://www.cboltz.de/de/linux/bash/ beschreibt da zwar einige Ansätze, aber vielleicht gibt es da noch etwas einfacheres? Nach meinen Recherchen sollte man einfach auf die Subshell verzichten, aber vielleicht hat da jemand doch eine Idee.
Du musst nur an passenden Stellen bei diesen Lösungen statt dem "einfachen" Setzen einer Variablen einfach ein 'set' mit passender Umleitung verwenden. HTH, -dnh -- Die Evolution ist das Vorbild der Konsumgesellschaft. "Schnell weg und neu!" -- Dieter Nuhr -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Al Bogner schrieb:
Gibt es _einfache_ Möglichkeit um _alle- Variablen aus einer Subshell zur Verfügung zu machen? http://www.cboltz.de/de/linux/bash/ beschreibt da zwar einige Ansätze, aber vielleicht gibt es da noch etwas einfacheres? Nach meinen Recherchen sollte man einfach auf die Subshell verzichten, aber vielleicht hat da jemand doch eine Idee.
Hallo,
eine Subshell erzeugt man ja schon wenn man ein Skript aufruft. Nun um
die Variablen in diesem Skript von der aufzurufenden Shell nutzbar zu
machen kenn ich nur die Möglichkeit das Skript statt mit "./
Am Freitag, 9. März 2007 22:27 schrieb Patrick Klaus:
Al Bogner schrieb:
Gibt es _einfache_ Möglichkeit um _alle- Variablen aus einer Subshell zur Verfügung zu machen? http://www.cboltz.de/de/linux/bash/ beschreibt da zwar einige Ansätze, aber vielleicht gibt es da noch etwas einfacheres? Nach meinen Recherchen sollte man einfach auf die Subshell verzichten, aber vielleicht hat da jemand doch eine Idee.
Hallo,
eine Subshell erzeugt man ja schon wenn man ein Skript aufruft. Nun um die Variablen in diesem Skript von der aufzurufenden Shell nutzbar zu machen kenn ich nur die Möglichkeit das Skript statt mit "./
" mit ". " aufzurufen. Alternativ mit "source ". Ist es das was Du meinst?
David hat mir kürzlich im Thread "Quotingproblem mit Leerzeichen im Dateinamen" folgendes Konstrukt empfohlen: find ... | while IFS= read -r FILE; do ... ; done Sobald die Schleife verlassen wird, stehen mir die Variablen aus der Subshell nicht mehr zur Verfügung und dafür suche eine einfache Lösung. Speziell möchte ich nicht darüber nachdenken müssen, welche Variablen aus der Subshell ich vielleicht später in der Hauptshell benötige. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Freitag, 9. März 2007 schrieb Al Bogner: Hallo Al,
David hat mir kürzlich im Thread "Quotingproblem mit Leerzeichen im Dateinamen" folgendes Konstrukt empfohlen:
find ... | while IFS= read -r FILE; do ... ; done
Sobald die Schleife verlassen wird, stehen mir die Variablen aus der Subshell nicht mehr zur Verfügung und dafür suche eine einfache Lösung. Speziell möchte ich nicht darüber nachdenken müssen, welche Variablen aus der Subshell ich vielleicht später in der Hauptshell benötige.
Wenn Du auf die Subshell nicht verzichten kannst, wuerde ich folgendes empfeheln: ================================== #!/bin/bash function machdas ... function machdies .. function machnochwas ... find... | while findewas do; # bin noch in der subshell machdas machdies machnochwas done; # raus aus der subshell mach hier was ganz anderes exit; ================================== Beim Verwenden von Funktionen bist Du flexibel genug, nachtraeglich alles Moegliche hinzuzufuegen. Das ist sogar uebersichtlich. MfG Th. Moritz -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (4)
-
Al Bogner
-
David Haller
-
Patrick Klaus
-
Thomas Moritz