Article View: pl.comp.os.linux.programowanie
Article #72593Re: bash while done zmienna problem
From: PawelS
Date: Tue, 12 Feb 2013 03:52
Date: Tue, 12 Feb 2013 03:52
25 lines
1635 bytes
1635 bytes
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. Niestety export zmiennej do środowiska też nie pomaga.
Technical Details
Message-ID:
<kfce90$vkm$1@news.icm.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mailReferences:
<klc9h8h8f5bnn1c0jkdtj5nv6u63aeshlh@4ax.com> <87ip63p3ak.fsf@alfa.kjonca>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail From: PawelS <cbrbob@10g.pl> Newsgroups: pl.comp.os.linux.programowanie Subject: Re: bash while done zmienna problem Date: Tue, 12 Feb 2013 04:52:01 +0100 Organization: ICM, Uniwersytet Warszawski Lines: 25 Message-ID: <kfce90$vkm$1@news.icm.edu.pl> References: <klc9h8h8f5bnn1c0jkdtj5nv6u63aeshlh@4ax.com> <87ip63p3ak.fsf@alfa.kjonca> NNTP-Posting-Host: muszelka.nat.student.pw.edu.pl Mime-Version: 1.0 X-Trace: news.icm.edu.pl 1360641120 32406 194.29.137.5 (12 Feb 2013 03:52:00 GMT) X-Complaints-To: usenet@news.icm.edu.pl NNTP-Posting-Date: Tue, 12 Feb 2013 03:52:00 +0000 (UTC) User-Agent: Thunderbird 2.0.0.24 (X11/20110622) In-Reply-To: <87ip63p3ak.fsf@alfa.kjonca> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit