Hallo,
ich habe folgendes Problem:
Die folgende Funtion exportiert mir Variablen mit quasi beliebigen Namen vom Stdin für die weitere Verwendung:
Die Idee ist, daß der stdin „erhalten“ bleibt, d.h. das, was rausgelesen wurde, wieder weggeschrieben wird.
function cacheInto
{
while [$# != 0] ; do
read $1
export $1
eval "echo \$`echo $1`";
shift;
done
}
Eigentlich funktioniert das Ganze okay:
Im Skript aufgerufen
echo "A" | cacheInto var1;
echo $var1
Resultat:
A
A
Wenn ich es jedoch in der Pipe aufrufe:
echo "A" | cacheInto var1 | cat
echo $var1
Resultat:
A
D.h. die Export-Variable bleibt nur in der Pipe wieder erhalten.
Nun meine Frage:
wie kann ich dafür sorgen, daß die Variable die Pipe „überlebt“?
Dankeschön,
Mike