En mi caja de Linux, en bash, tengo acceso a una carpeta "doble raíz" indicada por dos barras diagonales:
tomas:~ $ cd /
tomas:/ $ ls
bin/ cdrom@ ...
tomas:/ $ cd //
tomas:// $ ls
bin/ cdrom@ ...
El contenido de la carpeta y su subcarpeta es idéntico a la raíz de barra simple "normal". La doble barra no desaparece cuando accedo a sus subcarpetas. La anomalía no se repite con tres o más barras; Estos son sinónimos simples para la raíz:
tomas:// $ cd home/tomas
tomas://home/tomas $ cd ///
tomas:/ $ cd ////
tomas:/ $
¿Que tipo de lugar es este? ¿Es un error? ¿Alguien puede explicar la anomalía?
Respuestas:
De Bash FAQ E10 :
fuente
"¡No es un error, es una característica!"
Todavía estás en el mismo directorio raíz. No sé los orígenes de esto, pero sospecho que puede tener algo que ver con la construcción de cadenas para caminos absolutos. Si alguien más lo sabe con certeza, contacte.
fuente
Las herramientas que ha utilizado ignoran varias barras inclinadas y siempre está llegando a la misma carpeta raíz.
fuente
Las barras inclinadas múltiples se tratan como una barra inclinada simple con fines de resolución de nombres de ruta.
Lo que está viendo en el indicador de comandos de shell es un artefacto del manejo de bash PS1 (consulte la sección "PROMOCIÓN" en la página de manual de bash).
El resultado es solo una cuestión de presentación; siempre estás en el mismo directorio raíz. Puede verificar esto mirando
/proc/$$/root
.[editar] Bueno, nunca supe esto: http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap04.html#tag_04_11 El significado de "//" no está definido por los estándares, pero "///" y más barras son equivalentes a "/".
fuente