Article View: pl.comp.os.linux.programowanie
Article #72594Re: bash while done zmienna problem
From: Michoo
Date: Tue, 12 Feb 2013 10:22
Date: Tue, 12 Feb 2013 10:22
43 lines
2219 bytes
2219 bytes
On 12.02.2013 04:52, PawelS wrote: > Kamil Jońca pisze: >> Tomasz Kobus <Ra.spam-niet@t.k.pl> writes: >>> #!/bin/sh >>> zmienna=0 >>> cat plik| while read line >>> do >>> echo $line >>> zmienna=3 >>> done >>> echo $zmienna >>> >>> i niestety na wyjściu (pomijając linie pliku) mam wynik "0" a >>> chciałbym mieć "3" >> >> Czy przepisałeś czy zacytowałeś ten skrypt? Bo obstawiam literówkę w >> nazwie zmiennej w ciele pętli. > > A ja obstawiam, że nie wiesz jak działa sh/bash, > sam jestem zaskoczony, że tak to działa, > ale przepisz powyższy skrypt dodając sleep 1 > po zmienna=3 a przed done i wyświetl sobie listę procesów, > to zobaczysz bash, bash i sleep. > To dlatego ta zmienna jest ustawiona w pętli > i poza pętlą w bashu w dalszym ciągu jest 0. Nie dlatego, że ustawiona w pętli a dlatego, że pętla jest w nowym procesie odpalonym przez "|". W tym wypadku usunięcie martwego kota na rzecz "<" pomoże. W ogólnym czasami trzeba użyć named pipe na zasadzie: cat plik > rurka & petla < rurka > Niestety export zmiennej do środowiska też nie pomaga. Nie jest to dziwne. -- Pozdrawiam Michoo
Technical Details
Message-ID:
<kfd5kk$fi6$1@mx1.internetia.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!not-for-mailReferences:
<klc9h8h8f5bnn1c0jkdtj5nv6u63aeshlh@4ax.com> <87ip63p3ak.fsf@alfa.kjonca> <kfce90$vkm$1@news.icm.edu.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!not-for-mail From: Michoo <michoo_news@vp.pl> Newsgroups: pl.comp.os.linux.programowanie Subject: Re: bash while done zmienna problem Date: Tue, 12 Feb 2013 11:22:55 +0100 Organization: Netia S.A. Lines: 43 Message-ID: <kfd5kk$fi6$1@mx1.internetia.pl> References: <klc9h8h8f5bnn1c0jkdtj5nv6u63aeshlh@4ax.com> <87ip63p3ak.fsf@alfa.kjonca> <kfce90$vkm$1@news.icm.edu.pl> NNTP-Posting-Host: 83.238.197.12 Mime-Version: 1.0 X-Trace: mx1.internetia.pl 1360665044 15942 83.238.197.12 (12 Feb 2013 10:30:44 GMT) X-Complaints-To: abuse@inetia.pl NNTP-Posting-Date: Tue, 12 Feb 2013 10:30:44 +0000 (UTC) In-Reply-To: <kfce90$vkm$1@news.icm.edu.pl> X-Tech-Contact: usenet@internetia.pl User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:10.0.11) Gecko/20121123 Icedove/10.0.11 X-Server-Info: http://www.internetia.pl/ Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit