Por que eu posso cd para // mas não /// ou //// ou ///// ou… [duplicado]

3

Quando eu mudo o diretório para // , parece que ele me colocou em um diretório especial que é muito parecido, mas ligeiramente diferente, de / . No entanto, tentar adicionar mais barras ( /// ) simplesmente me libera em / .

$ cd /    ;pwd
/
$ cd //   ;pwd
//
$ cd ///  ;pwd
/
$ cd //// ;pwd
/

Parece que // é de alguma forma especial, mesmo que tenha os mesmos diretórios e tudo, ainda é uma string diferente retornada por pwd . Por que é isso? Por que meu diretório de trabalho pode ser // , mas não /// ?

    
por Shelvacu 05.05.2016 / 22:40

1 resposta

7

// é um caso especial, abordado na definição POSIX da palavra "Pathname" :

Multiple successive <slash> characters are considered to be the same as one <slash>, except for the case of exactly two leading <slash> characters.

Na maioria dos sistemas // é o mesmo que / , mas é permitido ser diferente de acordo com POSIX.

Leitura adicional:

(acho que o primeiro desses links é o melhor.)

    
por 05.05.2016 / 22:46

Tags