🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #51650

Re: Jak skrypt ma się dowiedzieć w jakim jest katalogu?

#51650
From: Maciej Misiak
Date: Sat, 31 Oct 2009 09:02
63 lines
2421 bytes
Maciej Zielenkieiwcz pisze:
> On 2009-10-30 20:39, Maciej Misiak <grizzley@poczta.onet.pl> wrote:
>> Adam Osuchowski pisze:
>>> Slawek wrote:
>>> Jeżeli skrypt zmienia katalog bieżący procesu, to nie jesteś później
>>> w stanie ustalić, jaki katalog był bieżącym w momencie jego uruchamiania
>>> (oczywiście, jeśli sobie tego nie zapamiętasz wcześniej).
>> Oczywiście, że jesteś w stanie:
>>
>> #!perl -l
>>
>> use Cwd;
>> print $0,' ',getcwd;
>> chdir 'D:\\';
>> print $0,' ',getcwd;
>>
>> daje taki wynik:
>> C:\temp>abc.pl
>> C:\temp\abc.pl C:/temp
>> C:\temp\abc.pl D:/
>>
>> C:\temp>
>>
>> czyli mówiąc wprost: można "katalog skąd skrypt został uruchomiony" 
>> wyczytać ze zmiennej $0.
> 
> W ogólności to nie jest prawda.
> 
> $ pwd
> /tmp/pl 
> $ ./x.pl
> ./x.pl /tmp/pl
> ./x.pl /home
> 
> Przy czym x.pl zawiera:
> 
> #!/usr/bin/perl -l
> use Cwd;
> print $0,' ',getcwd;
> chdir '/home';
> print $0,' ',getcwd;

No to najwidoczniej raz jeden Winzgroza przeważa nad linuksami, bo 
niezależnie od wywołania $0 zawiera pełną ścieżkę :)

C:\>temp\abc.pl
C:\temp\abc.pl C:/
C:\temp\abc.pl D:/

C:\>cd temp

C:\temp>.\abc.pl
C:\temp\abc.pl C:/temp
C:\temp\abc.pl D:/

C:\temp>\temp\abc.pl
C:\temp\abc.pl C:/temp
C:\temp\abc.pl D:/

C:\temp>

-- 
grizzley
Technical Details
Message-ID: <hcgueh$p5f$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mail
References: <hc92ee$jn3$1@news.onet.pl> <20091028093931.6b8b4567@polsl.pl> <hcfitv$65l$1@news.onet.pl> <hcfqfs$sn3$1@io.staszic.waw.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mail
From: Maciej Misiak <grizzley@poczta.onet.pl>
Newsgroups: pl.comp.lang.perl
Subject: Re: Jak skrypt ma się dowiedzieć w jakim jest
 katalogu?
Date: Sat, 31 Oct 2009 10:02:06 +0100
Organization: http://onet.pl
Lines: 63
Message-ID: <hcgueh$p5f$1@news.onet.pl>
References: <hc92ee$jn3$1@news.onet.pl> <20091028093931.6b8b4567@polsl.pl> <hcfitv$65l$1@news.onet.pl> <hcfqfs$sn3$1@io.staszic.waw.pl>
NNTP-Posting-Host: ip-62-69-199-251.globalconnect.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1256979729 25775 62.69.199.251 (31 Oct 2009 09:02:09 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Sat, 31 Oct 2009 09:02:09 +0000 (UTC)
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
In-Reply-To: <hcfqfs$sn3$1@io.staszic.waw.pl>
X-Antivirus: avast! (VPS 091030-0, 2009-10-30), Outbound message
X-Antivirus-Status: Clean
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit