Thread Arbeitsverzeichnis aendern (12 answers)
Opened by fritz at 2006-04-13 17:15

betterworld
 2006-04-13 18:57
#64919 #64919
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
[quote=master,13.04.2006, 15:33]pfad ändern im Skript:
Code: (dl )
1
2
3
chdir('ordner/');
system('testing.exe.');
chdir('..');
[/quote]
chdir("..") ist unter Unix/Linux keine sichere Methode, um wieder ins alte Verzeichnis zurückzukommen. Dazwischenkommen kann immer ein Symlink oder ein richtig "geteimtes" rename oder gar mount. Wenn man ganz sicher gehen will, sollte man es ungefaehr so machen:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
use strict;
use warnings;
use POSIX;
require "syscall.ph";
my $d = POSIX::open(".") or die $!;
system("pwd"); # nur zur Kontroll-Ausgabe
chdir("/tmp") or die $!;
system("pwd"); # nur zur Kontroll-Ausgabe
-1 != syscall(&SYS_fchdir, $d) or die $!;
system("pwd"); # nur zur Kontroll-Ausgabe
POSIX::close($d);


(Ich will nicht behaupten, dass der Code irgendwie schön aussieht.)

Edit: "close" hinzugefuegt\n\n

<!--EDIT|betterworld|1144940907-->

View full thread Arbeitsverzeichnis aendern