Re: [bash] Einlesen einer Datei
Hallo,
* On Sat, Jan 22, 2005 at 03:26:32PM +0100, Thilo Engelbracht wrote:
> Am 22.01.2005 um 14:13 Uhr schrieb Nicolas Heuser <nicolas1023@gmx.net>:
>
> userkw=`echo $zeile | cut -d : -f 2 | cut -d " " -f 2-`
> echo $userkw
> read zeile
> mailkw=`echo $zeile | cut -d : -f 2 | cut -d " " -f 2-`
> echo $mailkw
> read zeile
> quota=`echo $zeile | cut -d : -f 2 | cut -d " " -f 2-`
> echo $quota
> done
> fi
> echo
> echo "Variablen:"
> echo $account
> echo $nkurz
> echo $nlang
> echo $userkw
> echo $mailkw
> echo $quota
>
>
> Und hier die Ausgabe:
>
> [Leerzeile]
> [Leerzeile]
..............
>
> Es ist schon merkwürdig: Die Variablen werden bei der ersten Ausgabe
> (innerhalb der "do ... done"-Anweisung) korrekt angezeigt - bei der
> zweiten Ausgabe (also nach der "do ... done"-Anweisung) sind die
> Variablen aber wieder "leer"...
Das Problem ist ganz klar shell und Variablen.
Dazu nur soviel: Du startest in deinem script eine "sub-shell" die
parallel zum Prozess laeuft und da sind natuerlich die vars wieder
weg wenn nichts besonderes angesagt ist ;)
Wie man das umgeht wurde schon kurz angesprochen, setze das
komplette in
# schlechter Stil
( ... )
Aber das waere wohl nicht die Erfindung von der shell/bash, ich
wuerde es mit getopt (man getops, man bash) versuchen.
oder einfach
# typeset -x exportiert Variablen in die Shellumgebung
$ typeset -x var=foo
sollte das sein was du suchst. (?)
Im uebrige: es gibt verdammt viele versch. Variablen.
Wie auch es auch versch. shell's gibt.
Gruss, Clemens Wohld
--
sig_22
Prozessauskunft ueber ein bestimmtes Prog. bekommt man mit
$ ps aux | grep <Programm> [Info: man grep; man ps]
[X-Page: http://www.senc-xpage.de]
----------------------------------------------------------
Reply to: