Strata hodnoty premennej po while v bash-i

Milan KUNDRAT mkundrat na penguin.cz
Neděle Červen 13 19:39:12 CEST 2004


V Nedeľa 13 Jún 2004 19:39, Jirka Kosina napísal:
> On Sun, 13 Jun 2004, Tomáš Janoušek wrote:
> > >   POCET=$((POCET+1))
> >
> > POCET=$(($POCET+1))
>
> To neni problem na ktery se tazatel ptal. Problem je, ze ta roura do readu
> spusti bohuzel subshell, ze ktereho promennou do parenta samozrejme
> nedostanete.
>
> Takze je nutne si tu promennou 'ven' predat bud nejak pres
> soubor/pojmenovanou rouru, nebo operace s ni delat jeste v aktualnim
> subshellu, tedy neco jako
>
> #!/bin/bash
> POCET=0
> ls | (while read SUBOR; do
>         POCET=$(($POCET+1))
>         echo "$POCET $SUBOR"
> done; echo $POCET)

jj to je vonco, dakujem :-)

-- 
s pozdravom


Milan KUNDRÁT

Email: mkundrat na penguin.cz
Icq: 172420788
Tel: +421 904 49 64 38
Tel: +421 915 36 57 57


Další informace o konferenci Linux