Mir
2007-08-06 14:23:30 UTC
Mamy sobie taki przykładowy skrypt:
------------------------------------------------------------
#!/bin/bash
zmienna="stara wartosc"
echo |if true; then
echo "zmienna = $zmienna"
zmienna="cos nowego!"
echo "zmienna = $zmienna"
fi
echo "a na koniec zmienna = $zmienna"
------------------------------------------------------------
Oraz wynik jego działania:
------------------------------------------------------------
zmienna = stara wartosc
zmienna = cos nowego!
a na koniec zmienna = stara wartosc
------------------------------------------------------------
Jak zrobić, by otrzymać: "a na koniec zmienna = cos nowego!" ???
Domyślam się, że problem jest związany z "|", gdzie polecenie w potoku
jest uruchamiane jako nowy proces w "podpowłoce"...?
Próbowałem różne kombinacje z export, declare, set,... i nie daje
rady, jestem już tym zmęczony..
...rozwiązanie z tymczasowym plikiem, jest dla mnie trochę jakoś tak
dziwaczne.
Pozdrawiam
Mir
------------------------------------------------------------
#!/bin/bash
zmienna="stara wartosc"
echo |if true; then
echo "zmienna = $zmienna"
zmienna="cos nowego!"
echo "zmienna = $zmienna"
fi
echo "a na koniec zmienna = $zmienna"
------------------------------------------------------------
Oraz wynik jego działania:
------------------------------------------------------------
zmienna = stara wartosc
zmienna = cos nowego!
a na koniec zmienna = stara wartosc
------------------------------------------------------------
Jak zrobić, by otrzymać: "a na koniec zmienna = cos nowego!" ???
Domyślam się, że problem jest związany z "|", gdzie polecenie w potoku
jest uruchamiane jako nowy proces w "podpowłoce"...?
Próbowałem różne kombinacje z export, declare, set,... i nie daje
rady, jestem już tym zmęczony..
...rozwiązanie z tymczasowym plikiem, jest dla mnie trochę jakoś tak
dziwaczne.
Pozdrawiam
Mir