O que causa barras duplas no Linux?

8

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

 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
    
por kravemir 23.07.2011 / 13:39

2 respostas

8

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

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

    
por 23.07.2011 / 13:42
13

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

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

make DESTDIR=/usr/local/games/enemy-territory/ install

... e o instalador usa assim:

$(DESTDIR)/tcetest/pak3.pk3

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

/usr/local/games/enemy-territory//tcetest/pak3.pk3

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

    
por 23.07.2011 / 15:55

Tags