Também pode ser considerado.
No Linux, isso //
não significa nada - várias barras consecutivas são reduzidas a uma, em qualquer lugar do caminho, incluindo o início. Mudar o diretório para //
colocar você /
, como readlink /proc/self/cwd
diria a execução ; da mesma forma, /usr//local///bin
está recolhido /usr/local/bin
.
No entanto, alguns outros sistemas semelhantes ao Unix, por exemplo, Cygwin ou o antigo Apollo Domain / OS, usam o //
prefixo para caminhos de rede como //fileserver/path/to/data
. O POSIX também permite isso.
Por várias razões, o shell bash rastreia o diretório atual por conta própria (além do rastreamento fornecido pelo sistema operacional) e possui um código que impede que a inicial //
seja recolhida, para permanecer compatível com esses sistemas. O "recurso" é que o bash fornece um rastreamento mais intuitivo do diretório atual, por exemplo, ao cd
entrar em um link simbólico, o bash mostrará o caminho que você espera, mesmo que o kernel pense de outra forma. O "bug" é que o bash permite //
mesmo em sistemas que não o usam.