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