🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.linux.programowanie
Article #72593

Re: bash while done zmienna problem

#72593
From: PawelS
Date: Tue, 12 Feb 2013 03:52
25 lines
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-mail
References: <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