b=1 echo "pred je $b" echo | while read a; do echo "vnutri je $b" b=2 echo "vnutri zmenim na $b" done echo "za while je $b"
Vypise toto:
pred je 1 vnutri je 1 vnutri zmenim na 2 za while je 1
Za while b nie je 2 lebo kvoli while bash spusta dalsi proces takze tam je to akoby lokalna premenna. Potrebujem aby za while bola premenna b=2. Skusal som na koniec while dat export b ale to nepomoze. "b" je pocitadlo a potrebujem aby sa v tom while zvysovalo aby som ho mohol potom pouzivat. Nechcem to cez docasne subory ani cez std vystup/vstup (tych pocitadiel/premennych je tam viacej).
bash spusti novy proces nie kvoli while, ale kvoli "|".
Bez "echo |" to funguje ako potrebujes.
!!! Dôležité !!! Presmerovanie treba dať na done <
> Nechcem to cez docasne subory