Was verursacht doppelte Schrägstriche unter Linux?

9

Ich installiere TCE und sehe doppelte Schrägstriche ( //) im Installationspfad. Warum sind sie dort?

 100% - /usr/local/games/enemy-territory//tcetest/ReadMe.rtf
 100% - /usr/local/games/enemy-territory//tcetest/changelog.rtf
 100% - /usr/local/games/enemy-territory//tcetest/ui.mp.i386.so
 100% - /usr/local/games/enemy-territory//tcetest/qagame.mp.i386.so
 100% - /usr/local/games/enemy-territory//tcetest/pak3.pk3
 100% - /usr/local/games/enemy-territory//tcetest/pak2.pk3
Kravemir
quelle

Antworten:

9

Das passiert sehr oft und ist harmlos. Doppelter Schrägstrich wird als einfacher Schrägstrich interpretiert.

(siehe man path_resolution, um den Prozess der Pfadauflösung zu verstehen)

Stéphane Gimenez
quelle
Können Sie einen Artikel veröffentlichen, in dem ich ihn überprüfen kann?
Kravemir
Ich habe meinen Beitrag bearbeitet. Das Problem mit dem doppelten Schrägstrich wird in der Manpage zwar nicht explizit erwähnt, aber Sie können die Antwort ableiten.
Stéphane Gimenez
1
Die eigentliche Frage blieb also: Warum sind sie dort? :)
slhck
einfach: programmierung. Es ist besser, es zu haben als nicht, und Sie führen es immer durch eine Art "path.normalize ()" in lang / tool Ihrer Wahl. :)
bgs
13

Es ist einfach das Ergebnis der Verkettung von Pfaden als normale Textzeichenfolgen.

Wenn Sie beispielsweise das Zielverzeichnis einschließlich des abschließenden Schrägstrichs angeben ...

mache DESTDIR = / usr / local / games / feindliches Territorium / install

... und das Installationsprogramm verwendet es folgendermaßen:

$ (DESTDIR) /tcetest/pak3.pk3

Wenn die obige Zeile erweitert wird, wird sie $(DESTDIR)einfach durch den genauen Inhalt der Variablen ersetzt. Dies führt zu:

/ usr / local / games / feindliches Gebiet / /tcetest/pak3.pk3

Wie Stéphane in ihrer Antwort erwähnt hat, ist es völlig harmlos, zwei Schrägstriche in einem Pfad zu haben, weshalb sich die meisten Installationsskripte nicht darum kümmern, sie zu entfernen.

user1686
quelle