Por que o caminho “//” está funcionando?

6

Testado em um debian e baseado no debian:

$ cd // && pwd && ls
//
bin   build  dev  home ...

Por que o caminho // é um caminho válido?

    
por bux 16.04.2014 / 12:04

2 respostas

12

De acordo com a especificação POSIX :

A pathname that begins with two successive slashes may be interpreted in an
implementation-defined manner, although more than two leading slashes shall be
treated as a single slash.

Eu estou supondo que o bash resolve as duas barras em uma única barra, então ambas significam a mesma coisa. E de acordo com a especificação, cd /// também deve fornecer a mesma saída.

Você pode verificar o número de inode do diretório atual usando

stat -c "%i" .

e você notará que o número de inode de / e // é o mesmo.

    
por 16.04.2014 / 12:18
5

Esta questão já foi respondida aqui .

Na maioria dos sistemas POSIX , várias barras são simplesmente ignoradas.

    
por 16.04.2014 / 12:13