_micha_ Opublikowano 5 Maja 2003 Zgłoś Opublikowano 5 Maja 2003 Witam Troche glupia sprawa, ale dopiero zaczynam sie bawic w linuxie i prosze o pomoc. Otoz pisze sobie skrypcik, ktory w petli while read liczy sobie cos i zapamietuje w zmiennej. I teraz mam problem, bo po wyjsciu z petli skrypt nie pamieta wartosci tej zmiennej (tak jakby byla lokalna w tej petli). Jak wyeksportowac wartosc tej zmiennej ? Z gory dziekuje za kazda podpowiedz :) Pozdrawiam Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
bigfan Opublikowano 5 Maja 2003 Zgłoś Opublikowano 5 Maja 2003 Wartosc zmiennej powinna byc osiagalna poprzez dodanie $ przed jej nazwa w obrebie jednego skryptu. Polecenie export pozwala na wyeksportowanie danej zmiennej jako zmiennej srodowiskowej. Wtedy bedzie widzialna przez wszystkie skrypty i programy dzialajace w danej sesji uzyszkodnika. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
_micha_ Opublikowano 5 Maja 2003 Zgłoś Opublikowano 5 Maja 2003 Ale ja nie chce jej wyeksportowac na zewnatrz, bo nie ma takiej potrzeby zeby byla widziana przez wszystkie inne skrypty i system :) Chcialbym po prostu zeby byla widziana po wyjsciu z petli, wyglada to tak: lastline="\0" l=0 cat $1 | sort | while read line; do if [ $line ] ; then if ! [ $line == $lastline ] ; then l=`expr $l + 1` fi lastline=$line fi echo $l # tutaj pokazuje dobre wartosci done echo $l # a tu juz 0 :( PS. Czy w tym przypadku trzeba uzyc komendy export ? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
bigfan Opublikowano 5 Maja 2003 Zgłoś Opublikowano 5 Maja 2003 http://www.tldp.org/LDP/abs/html/loopcontrol.html - zerknij na pierwszy przyklad. Tam tez jest petla while zliczajaca cos. Tutaj widac caly czas wartosc zmiennej kontrolnej, wiec najpewniej to jakis blad w sztuce. Niestety nie mam pomyslu poki co. Musze wstac, zjesc cos i dojsc do siebie :-) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
_micha_ Opublikowano 5 Maja 2003 Zgłoś Opublikowano 5 Maja 2003 Ale moja petla tez wszystko ladnie zlicza - sama petla dziala w porzadku. Chodzi mi tylko o to, ze po wyjsciu z petli zmienna l ma wartosc taka jak przed wejsciem (ewidentnie wyglada mi to na zachowanie zmiennej lokalnej). Jak w zwiazku z tym zdefiniowac zmienna globalna dla danego skryptu? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...