Kam se ztraci promenna? - VYRESENO
Martin Spirk
spirk na kla.pvt.cz
Středa Červenec 11 08:21:19 CEST 2001
On Tue 10. July 2001 18:14, you wrote:
> > > > cat $soubor | while read a
> > >
> > > novy proces kopiruje stare prostredi (tedy i drive nastavene promenne)
> >
> > Ktery proces? Pousti se novy shell? (zkousel jsem si vypisovat $$ a bylo
> > stejne uvnitr cyklu i venku)
>
> No kdyz je tam to pipe '|' tak by se pustit mel.
> Pravda s tim vypisem jsem ted sam zmaten, to nejak nedovedu objasnit.
> Co vlastne presne znamena $$? V bash(1) o tom toho moc neni.
Nerozumim tomu o nic lip, cekal bych ze to je PID shellu ve ktere se to
pouzije, ale nikdy jsem s tim poradne nedelal.
> > No budiz, ale jak to elegantne vyresit?
> > zkousel jsem vysledek cyklu predat pres ``, ale to mi neslo protoze
> > zpetne apostrofy uz v tom cyklu jsou a zrejme to nejde vnorit.
>
> A co to napsat bez cat.
>
> while read a
> do
> JMENO=`echo $a|cut -f1 -d=`
> HODNOTA=`echo $a|cut -f2 -d=`
> if [ $JMENO = "account" ]
> then
> KONTO=$HODNOTA
> fi
> echo konto=$KONTO
> done <$soubor
No parada, to je ono. Napsat to bez cat me napadlo, ale delal jsem to
spatne, zkousel jsem to takhle
while read a < $soubor
a to se soubor asi opakovane otviral nebo co (je to nejaka roura tak to
nebylo moc poznat). Napsat to presmerovani az za 'done' by me nenapadlo.
Takze jeste jenou diky, Martin
Další informace o konferenci Linux