O que causa barras duplas no Linux?


9

Estou instalando o TCE e vejo barras duplas ( //) no caminho da instalação. Por que eles estão lá?

 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

Respostas:


9

Isso acontece com muita frequência e é inofensivo. Barra dupla é interpretada como barra simples.

(veja man path_resolutionpara entender o processo de resolução do caminho)


Você pode postar algum artigo onde posso ver?
Kravemir

Eu editei minha postagem. O problema com barra dupla não é explicitamente mencionado na página de manual, mas você pode deduzir a resposta.
Stéphane Gimenez

1
Ainda assim, resta a pergunta real: por que eles estão lá? :)
slhck

simples: programação. É melhor tê-lo do que não, e você sempre o executa através de algum tipo de "path.normalize ()" no idioma / ferramenta de sua escolha. :)
bgs 16/05

13

É simplesmente o resultado da concatenação de caminhos como cadeias de texto comuns.

Por exemplo, se você especificar o diretório de destino, incluindo a barra final ...

make DESTDIR = / usr / local / games / território-inimigo / install

... e o instalador usa assim:

$ (DESTDIR) /tcetest/pak3.pk3

Quando a linha acima é expandida, $(DESTDIR)simplesmente será substituída pelo conteúdo exato da variável, resultando em:

/ usr / local / games / território-inimigo / /tcetest/pak3.pk3

Como Stéphane mencionou na resposta, ter duas barras no caminho é totalmente inofensivo, e é por isso que a maioria dos scripts de instalação não se preocupa em removê-los.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.