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