Что вызывает двойную косую черту в Linux?

9

Я устанавливаю TCE и вижу двойные косые черты ( //) в пути установки. Почему они там?

 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
источник

Ответы:

9

Это случается очень часто и безвредно. Двойная косая черта интерпретируется как простая косая черта.

(см., man path_resolutionчтобы понять процесс разрешения пути)

Стефан Хименес
источник
Можете ли вы опубликовать любую статью, где я могу проверить это?
Кравемир
Я отредактировал свой пост. Проблема с двойной косой чертой явно не упоминается на странице руководства, но вы можете вывести ответ.
Стефан Гименес
1
Тем не менее, актуальный вопрос остался: почему они там? :)
slhck
просто: программирование. Лучше иметь его, чем не делать, и вы всегда запускаете его через своего рода «path.normalize ()» в выбранном lang / tool. :)
BGS
13

Это просто результат объединения путей в виде обычных текстовых строк.

Например, если указать каталог назначения, включая косую черту в конце ...

make DESTDIR = / usr / local / games / территория врага / установить

... и установщик использует это так:

$ (DESTDIR) /tcetest/pak3.pk3

Когда строка выше будет расширена, она $(DESTDIR)будет просто заменена точным содержимым переменной, что приведет к:

/ usr / local / games / вражеская территория / /tcetest/pak3.pk3

Как отметил Стефан в своем ответе, наличие двух косых черт в пути совершенно безвредно, поэтому большинство сценариев установки не заботятся об их удалении.

user1686
источник