Thread Verzeichnisswechsel mit chdir: Wie springe ich wieder zurück??? (14 answers)
Opened by Tom at 2004-08-10 14:13

Dubu
 2004-08-10 14:46
#3401 #3401
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
[quote=format_c,10.08.2004, 12:22]chdir "../..";
[/quote]
Ach ja, das kann uebrigens schief gehen, wenn symbolische Links vom Verzeichniswechsel betroffen sind.

Beispiel:
Gegeben sei die folgende Verzeichnisstruktur:
 /test
 /test/bar
 /test/bar/foo
 /test/baz -> /test/bar/foo

d.h. /test/baz ist ein Symlink auf /test/bar/foo.

Wenn ich jetzt in /test bin, ein chdir("baz") mache und anschliessend ein chdir(".."), wo bin ich dann?
In /test/bar, nicht in /test!

Code: (dl )
1
2
3
4
5
6
7
8
dubu@localhost:/test> ls -l
insgesamt 0
drwxr-xr-x    3 dubu      users          72 2004-08-10 12:41 bar/
lrwxrwxrwx    1 dubu      users           7 2004-08-10 12:41 baz -> bar/foo/
dubu@localhost:/test> perl -MCwd -le 'print getcwd; chdir "baz" or die; print getcwd; chdir ".." or die; print getcwd;'
/test
/test/bar/foo
/test/bar


Edit: Fuer Portabilitaet getcwd() statt `pwd` benutzt.\n\n

<!--EDIT|Dubu|1092135242-->

View full thread Verzeichnisswechsel mit chdir: Wie springe ich wieder zurück???