Não é um problema do Cygwin, é um problema do Unix.
Nos primeiros dias da rede de computadores,
antes da Sun (Solaris) introduzir a sintaxe /net/hostname
para acessar sistemas de arquivos remotos 1 ,
e o NFS permitia que sistemas de arquivos remotos fossem montados em pontos de montagem arbitrários
(por exemplo, /mnt
ou /home/username
)
algumas versões do Unix implementadas
uma sintaxe //hostname/pathname
para o mesmo fim.
Consulte Em quais sistemas é //foo/bar
diferente de /foo/bar
?
Ao longo dos anos, essa sintaxe caiu em desuso,
cedendo (principalmente?) ao NFS.
No entanto, para permitir que esses sistemas legados sejam compatíveis com POSIX,
o padrão explicitamente permite que //
signifique algo diferente de /
(no início de um caminho) :
If a pathname begins with two successive <slash> characters, the first component following the leading <slash> characters may be interpreted in an implementation-defined manner, although more than two leading <slash> characters shall be treated as a single <slash> character.
(from near the end of the “Pathname Resolution” section)
- embora não especifique o que deve significar (se houver).
O Cygwin interpreta //
praticamente o mesmo que o antigo /net
,
conforme documentado aqui .
Ele faz referência à pasta “Rede” (pseudo-) do Windows -
o que contém “This Computer” e outras máquinas detectáveis.
Veja também Unix: diferença entre o caminho que começa com /
e //
.