Article View: pl.comp.lang.perl
Article #51650Re: Jak skrypt ma się dowiedzieć w jakim jest katalogu?
From: Maciej Misiak
Date: Sat, 31 Oct 2009 09:02
Date: Sat, 31 Oct 2009 09:02
63 lines
2421 bytes
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-mailReferences:
<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